P12113 [NWRRC2024] If I Could Turn Back Time

题目描述

Inna 是一位狂热的登山爱好者。她正在游览一系列由 $n$ 座山峰组成的山脉,这些山峰当前的高度分别为 $h_1, h_2, \ldots, h_n$。 在一家附近的商店里,Inna 发现了一本书,书中提到在过去某个时期,这些山峰的高度依次为 $p_1, p_2, \ldots, p_n$。然而,这本书的年代无从考证。 书中还描述了一个山峰侵蚀的模型:每年,根据天气情况会确定一个特定的高度阈值 $x$。然后,所有当前高度不低于 $x$ 的山峰都会恰好降低 $1$ 个单位高度。不同年份的 $x$ 值可以不同。 Inna 很好奇这本书究竟有多古老,以及这个侵蚀模型是否合理。请帮助她计算出山峰从高度 $p_1, p_2, \ldots, p_n$ 侵蚀到当前高度 $h_1, h_2, \ldots, h_n$ 所需的最少年份数,或者判断该模型下这种情况不可能发生。

输入格式

每个测试包含多个测试用例。第一行包含测试用例数量 $t$($1 \le t \le 10^4$)。接下来是各测试用例的描述。 每个测试用例的第一行包含一个整数 $n$,表示山峰的数量($1 \le n \le 10^5$)。 第二行包含 $n$ 个整数 $h_1, h_2, \ldots, h_n$,表示山峰当前的高度($1 \le h_i \le 10^6$)。 第三行包含 $n$ 个整数 $p_1, p_2, \ldots, p_n$,表示山峰过去的高度($1 \le p_i \le 10^6$)。 保证所有测试用例的 $n$ 之和不超过 $10^5$。

输出格式

对于每个测试用例,输出山峰从高度 $p_1, p_2, \ldots, p_n$ 侵蚀到 $h_1, h_2, \ldots, h_n$ 所需的最少年份数。如果该模型下这种情况不可能发生,则输出 $-1$。

说明/提示

在第一个测试用例中,山峰高度从 $(5, 3, 6, 2)$ 变为 $(3, 2, 4, 2)$ 最少需要两年: - 假设第一年的 $x = 4$,侵蚀后的高度为 $(4, 3, 5, 2)$; - 假设第二年的 $x = 3$,侵蚀后的高度为 $(3, 2, 4, 2)$。