B4570 [合肥市初中组 2025 T2] 等差数列

题目背景

民间数据。

题目描述

给定一个长度为 $n$ 的正整数数列 $a_1, a_2, \dots, a_n$。 我们称一个数列是**好的**,当且仅当它可以通过重新排列变成一个等差数列。 例如,数列 $[1, 5, 4, 2, 3]$ 是好的,因为它能重排为等差数列 $[1, 2, 3, 4, 5]$。而数列 $[1, 4, 3]$ 不是好的,因为无论怎么重排都无法形成等差数列。 你可以对给定的数列使用**至多一次**魔法:选择数列中的某个元素 $x$,将其变为 $x+1$ 或 $x-1$。 请你判断,能否通过至多一次魔法,使得给定的数列变成好的。

输入格式

**本题有多组测试数据。** 第一行包含一个正整数 $T$ —— 表示数据组数。 对于每组测试数据: * 第一行包含一个正整数 $n$ —— 表示数列的长度。 * 第二行包含 $n$ 个正整数 $a_1, a_2, \dots, a_n$ —— 表示数列中的每个元素。

输出格式

对于每组测试数据,输出一行一个字符串 `Yes` 或 `No`,表示能否通过至多一次魔法使得这个数列变成好的。

说明/提示

#### ****样例解释**** * 对于第 $1$ 组测试数据:可以重排为 $[1, 2, 3, 4, 5]$,本身已经是一个好的数列,不需要使用魔法。 * 对于第 $2$ 组测试数据:可以将 $1$ 变成 $2$,然后就可以重排为 $[2, 3, 4]$,是一个等差数列。 * 对于第 $3$ 组测试数据:可以将其中一个 $3$ 变成 $2$,然后就可以重排为 $[1, 2, 3]$,是一个等差数列。 * 对于第 $4$ 组测试数据:无论如何使用魔法都不能使得数列变成好的。 * 对于第 $5$ 组测试数据:可以将 $11$ 变成 $10$,然后就可以重排为 $[2, 4, 6, 8, 10, 12, 14]$,是一个等差数列。 #### ****其它样例说明**** * **样例 $2$**:见选手附加文件目录下的 `list/list2.in` 与 `list/list2.ans`。该样例满足测试点 $4 \sim 6$ 的约束条件。 * **样例 $3$**:见选手附加文件目录下的 `list/list3.in` 与 `list/list3.ans`。该样例满足测试点 $9 \sim 10$ 的约束条件。 #### ****数据范围**** 定义 $\sum n$ 为单个测试点内所有测试数据 $n$ 的总和。 对于所有测试数据,保证 $1 \le a_i \le 10^9$。 各测试点的附加限制如下表所示: | 测试点编号 | $\sum n \le$ | 特殊性质 | | :---: | :---: | :---: | | $1 \sim 3$ | $10^3$ | 无 | | $4 \sim 6$ | $10^6$ | $A$ | | $7 \sim 8$ | $10^6$ | $B$ | | $9 \sim 10$ | $10^6$ | 无 | * **特殊性质 $A$**:每组数据中数列的极差(最大值减去最小值)不超过 $1$。 * **特殊性质 $B$**:每组数据中数列的所有元素互不相同。