CF2085E Serval and Modulo
题目描述
给定一个由 $n$ 个非负整数组成的数组 $a$ 和一个魔法数 $k$($k \ge 1$ 且为整数)。Serval 构造了另一个长度为 $n$ 的数组 $b$,其中对于所有 $1 \leq i \leq n$,满足 $b_i = a_i \bmod k^{\text{∗}}$。随后,他将 $b$ 打乱了顺序。
现在给定数组 $a$ 和 $b$,请找出一个可能的魔法数 $k$。如果 Serval 欺骗了你且这样的整数不存在,则输出 $-1$。
可以证明,在题目约束下,若这样的 $k$ 存在,则存在一个不超过 $10^9$ 的有效答案。你需要在输出中保证 $k \leq 10^9$。
$^{\text{∗}}$符号 $a_i \bmod k$ 表示 $a_i$ 除以 $k$ 的余数。
输入格式
每个测试包含多个测试用例。第一行输入测试用例数 $t$($1 \le t \le 10^4$)。接下来描述每个测试用例。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 10^4$)——数组 $a$ 的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i \leq 10^6$)——数组 $a$ 的元素。
第三行包含 $n$ 个整数 $b_1, b_2, \ldots, b_n$($0 \leq b_i \leq 10^6$)——数组 $b$ 的元素。
保证所有测试用例的 $n$ 之和不超过 $10^4$。
输出格式
对于每个测试用例,输出一个整数 $k$($1 \leq k \leq 10^9$)——找到的魔法数。若不存在这样的整数,输出 $-1$。
若存在多个答案,输出任意一个即可。
说明/提示
第一个测试案例中,若 $k \ge 3$,则 $2 = a_3 \bmod k$ 必须出现在数组 $b$ 中,但这会导致矛盾。当 $k = 1$ 时,$[a_1 \bmod k, a_2 \bmod k, a_3 \bmod k, a_4 \bmod k] = [0,0,0,0]$,无法通过打乱顺序得到 $b$。当 $k = 2$ 时,$[a_1 \bmod k, a_2 \bmod k, a_3 \bmod k, a_4 \bmod k] = [1,1,0,1]$,可以打乱为 $b$。因此唯一可能的答案是 $k = 2$。
第二个测试案例中,注意 $b$ 可以通过打乱 $a$ 直接得到。因此所有 $6$ 到 $10^9$ 的整数都是合法答案。
第三个测试案例中,可以证明这样的 $k$ 不存在。Serval 欺骗了你!
翻译由 DeepSeek R1 完成