#P15160. [SWERC 2022] Walking Boy

[SWERC 2022] Walking Boy

说明

SWERC 的一位裁判有一只名叫 Boy 的狗。除了是一名优秀的竞技程序员外,Boy 还喜欢新鲜空气,因此她每天至少需要被遛两次。遛 Boy 需要连续 120120 分钟。两次遛狗时间不能重叠,但可以在前一次结束后立即开始下一次。

:::align{center}

Boy 在本题得到 ACCEPTED 之前和之后的样子。 :::

今天,裁判在 SWERC Discord 服务器上发送了 nn 条消息。第 ii 条消息在午夜过后 aia_i 分钟时发送。你知道,当裁判遛 Boy 时,他不会发送任何消息,但他可以在遛狗开始前或结束后立即发送消息。请问裁判今天是否可能至少遛了 Boy 两次?

注意一天有 14401440 分钟,一次遛狗被认为发生在今天,如果它在分钟 s0s \ge 0 开始并在分钟 e1440e \le 1440 之前结束。此时,必须满足 es=120e - s = 120,并且对于每个 i=1,2,ni = 1, \, 2 \, \dots, \, n,要么 aisa_i \le s,要么 aiea_i \ge e

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt1t1001 \le t \le 100)——测试用例的数量。接下来是 tt 个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n1001 \le n \le 100)——裁判发送的消息数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, \, a_2, \, \dots, \, a_n0a1<a2<<an<14400 \le a_1 < a_2 < \cdots < a_n < 1440)——消息发送的时间(从午夜开始经过的分钟数)。

输出格式

对于每个测试用例,如果可能 Boy 已经被遛了至少两次,则输出一行包含 YES\texttt{YES},否则输出 NO\texttt{NO}

6
14
100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400
12
100 200 300 400 600 700 800 900 1100 1200 1300 1400
13
100 200 300 400 500 600 700 800 900 1100 1200 1300 1400
13
101 189 272 356 463 563 659 739 979 1071 1170 1274 1358
1
42
5
0 1 2 3 4
NO
YES
NO
YES
YES
YES

提示

第一个测试用例中,裁判在每个 100100 的倍数时间(不包括 00)发送了消息。他不可能遛过 Boy 哪怕一次。

第二个测试用例中,时间与上面相同,但缺少 50050010001000。裁判可能遛了 Boy,例如在时间区间 [440,560][440, 560][980,1100][980, 1100]。情况如下图所示,遛狗时间用绿色区间表示。

:::align{center} :::

第三个测试用例中,时间与第一个测试用例相同,但缺少 10001000。裁判最多可能遛了 Boy 一次。

第四个测试用例中,Boy 可能在时间区间 [739,859][739, 859][859,979][859, 979] 被遛过。

:::align{center} :::

翻译由 DeepSeek 完成