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

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

背景

民间数据。

题目描述

给定一个长度为 nn 的正整数数列 a1,a2,…,ana_1, a_2, \dots, a_n。

我们称一个数列是好的,当且仅当它可以通过重新排列变成一个等差数列。 例如,数列 [1,5,4,2,3][1, 5, 4, 2, 3] 是好的,因为它能重排为等差数列 [1,2,3,4,5][1, 2, 3, 4, 5]。而数列 [1,4,3][1, 4, 3] 不是好的,因为无论怎么重排都无法形成等差数列。

你可以对给定的数列使用至多一次魔法:选择数列中的某个元素 xx,将其变为 x+1x+1 或 x−1x-1。

请你判断,能否通过至多一次魔法,使得给定的数列变成好的。

输入格式

本题有多组测试数据。

第一行包含一个正整数 TT —— 表示数据组数。

对于每组测试数据:

  • 第一行包含一个正整数 nn —— 表示数列的长度。
  • 第二行包含 nn 个正整数 a1,a2,…,ana_1, a_2, \dots, a_n —— 表示数列中的每个元素。

输出格式

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

5
5
1 3 4 2 5
3
1 3 4
3
1 3 3
3
3 3 6
7
14 2 11 6 8 4 12
Yes
Yes
Yes
No
Yes

提示

样例解释

  • 对于第 11 组测试数据:可以重排为 [1,2,3,4,5][1, 2, 3, 4, 5],本身已经是一个好的数列,不需要使用魔法。
  • 对于第 22 组测试数据:可以将 11 变成 22,然后就可以重排为 [2,3,4][2, 3, 4],是一个等差数列。
  • 对于第 33 组测试数据:可以将其中一个 33 变成 22,然后就可以重排为 [1,2,3][1, 2, 3],是一个等差数列。
  • 对于第 44 组测试数据:无论如何使用魔法都不能使得数列变成好的。
  • 对于第 55 组测试数据:可以将 1111 变成 1010,然后就可以重排为 [2,4,6,8,10,12,14][2, 4, 6, 8, 10, 12, 14],是一个等差数列。

其它样例说明

  • 样例 22:见选手附加文件目录下的 list/list2.in 与 list/list2.ans。该样例满足测试点 4∼64 \sim 6 的约束条件。
  • 样例 33:见选手附加文件目录下的 list/list3.in 与 list/list3.ans。该样例满足测试点 9∼109 \sim 10 的约束条件。

数据范围

定义 ∑n\sum n 为单个测试点内所有测试数据 nn 的总和。

对于所有测试数据,保证 1≤ai≤1091 \le a_i \le 10^9。

各测试点的附加限制如下表所示:

测试点编号 ∑n≤\sum n \le 特殊性质
1∼31 \sim 3 10310^3 无
4∼64 \sim 6 10610^6 AA
7∼87 \sim 8 BB
9∼109 \sim 10 无
  • 特殊性质 AA:每组数据中数列的极差(最大值减去最小值)不超过 11。
  • 特殊性质 BB:每组数据中数列的所有元素互不相同。