#P14101. [ZJCPC 2017] Problem Preparation

[ZJCPC 2017] Problem Preparation

Description

现在轮到为第 1414 届浙江省大学生程序设计竞赛准备题目了!SUA 出题团队几乎所有成员都在日夜头脑风暴、编写代码以赶上截止日期,空的 Marjar Cola\textit{Marjar Cola} 瓶子散落在地板上到处都是!

更糟的是,距离截止日期仅剩几天时,其中一位队员病倒了。因此,你——一名才华横溢的学生——被团队负责人 Dai 找来,协助检查题目的安排。

现在你得到了所有题目的难度分数。Dai 向你介绍了题目安排的规则:

  • 题目数量应在 10101313 之间(包含 10101313)。
  • 难度分数最低的题目(即分数最小的题目)必须为 11
  • 至少有两道题目的难度分数等于 11
  • 将所有题目的难度分数按照升序排列后,相邻两个题目的难度分数之差的绝对值不得超过 22。但是,如果这两个题目之中有一道是最难的题目,则它们之间的难度分数差值无限制。最难题目指的是难度分数最大的那一道题目。保证最难的题目恰好有且只有一道。

团队成员为你提供了许多可能的题目安排。请你检查这些安排是否符合上述规定。

Input Format

输入包含多组测试用例。输入的第一行为一个整数 TT1T1041 \leq T \leq 10^4),表示测试用例的组数。接下来有 TT 组测试用例。

每组测试用例的第一行为一个整数 nn1n1001 \leq n \leq 100),表示本组题目的数量。

接下来一行包含 nn 个整数 s1,s2,,sns_1, s_2, \dots, s_n1000si1000-1000 \leq s_i \leq 1000),表示每道题目的难度分数。

请注意,文件输入输出较大,建议使用更快的输入输出方式。例如,在 C++ 中,你可以使用 scanf/printf 取代 cin/cout。

Output Format

对于每组测试用例,如果题目安排符合所有规则,输出一行 "Yes"(不带引号);否则输出一行 "No"(不带引号)。

8
9
1 2 3 4 5 6 7 8 9
10
1 2 3 4 5 6 7 8 9 10
11
999 1 1 2 3 4 5 6 7 8 9
11
999 1 3 5 7 9 11 13 17 19 21
10
15 1 13 17 1 7 9 5 3 11
13
1 1 1 1 1 1 1 1 1 1 1 1 2
10
2 3 4 5 6 7 8 9 10 11
10
15 1 13 3 6 5 4 7 1 14
No
No
Yes
No
Yes
Yes
No
No

Hint

第一组题目只有 99 道题,不符合第一条规则。

第二组和第四组安排中只有一道题目难度分数为 11,不符合第三条规则。

第七组安排中最简单的题目难度分数为 22,不符合第二条规则。

第八组安排经升序排序后为 {1,1,3,4,5,6,7,13,14,15}\{1, 1, 3, 4, 5, 6, 7, 13, 14, 15\}。可以发现 137=6>2|13-7| = 6 > 2,而难度为 1313 的题目不是最难题(本组最难题是难度为 1515 的题目),因此不符合第四条规则。

由 ChatGPT 5 翻译