CF1656C Make Equal With Mod
题目描述
给定一个长度为 $n$ 的非负整数数组 $a_1, a_2, \ldots, a_n$。你可以进行如下操作:选择一个整数 $x \geq 2$,将数组中的每个数替换为它除以 $x$ 的余数,即对所有 $1 \leq i \leq n$,将 $a_i$ 变为 $a_i \bmod x$。
请判断是否可以通过若干次(可以为零次)上述操作,使得数组中的所有元素都相等。
输入格式
输入包含多组测试用例。第一行包含一个整数 $t$($1 \leq t \leq 10^4$),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含一个整数 $n$($1 \leq n \leq 10^5$),表示数组的长度。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \leq a_i \leq 10^9$),表示数组的元素。
所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出一行,如果可以通过若干次操作使数组所有元素相等,则输出 YES,否则输出 NO。
你可以用任意大小写输出答案(例如 "YES", "Yes", "yes", "yEs" 都会被认为是正确的)。
说明/提示
在第一个测试用例中,可以先选择 $x = 3$,得到数组 $[2, 2, 0, 2]$,然后选择 $x = 2$,得到 $[0, 0, 0, 0]$。
在第二个测试用例中,所有数字已经相等。
在第四个测试用例中,选择 $x = 4$ 后,数组变为 $[1, 1, 1, 1]$。
由 ChatGPT 4.1 翻译