Walking Boy
Contest: SWERC 2022-2023 - Online Mirror (Unrated, ICPC Rules, Teams Preferred)
Difficulty rating: 800
Tags: greedy

One of the SWERC judges has a dog named Boy. Besides being a good competitive programmer, Boy loves fresh air, so she wants to be walked at least twice a day. Walking Boy requires $$$120$$$ consecutive minutes. Two walks cannot overlap, but one can start as soon as the previous one has finished.

Boy before and after getting ACCEPTED on this problem.

Today, the judge sent $$$n$$$ messages to the SWERC Discord server. The $$$i$$$-th message was sent $$$a_i$$$ minutes after midnight. You know that, when walking Boy, the judge does not send any messages, but he can send a message right before or right after a walk. Is it possible that the judge walked Boy at least twice today?

Note that a day has $$$1440$$$ minutes, and a walk is considered to happen today if it starts at a minute $$$s \ge 0$$$ and ends right before a minute $$$e \le 1440$$$. In that case, it must hold that $$$e - s = 120$$$ and, for every $$$i = 1, \, 2 \, \dots, \, n$$$, either $$$a_i \le s$$$ or $$$a_i \ge e$$$.

Input format:
Each test contains multiple test cases. The first line contains an integer $$$t$$$ ($$$1 \le t \le 100$$$) — the number of test cases. The descriptions of the $$$t$$$ test cases follow.

The first line of each test case contains an integer $$$n$$$ ($$$1 \le n \le 100$$$) — the number of messages sent by the judge.

The second line of each test case contains $$$n$$$ integers $$$a_1, \, a_2, \, \dots, \, a_n$$$ ($$$0 \le a_1 < a_2 < \cdots < a_n < 1440$$$) — the times at which the messages have been sent (in minutes elapsed from midnight).

Output format:
For each test case, output one line containing $$$\texttt{YES}$$$ if it is possible that Boy has been walked at least twice, and $$$\texttt{NO}$$$ otherwise.

Constraints:
Time limit: 2.0 s
Memory limit: 256.0 MB

Note:
In the first test case, the judge has sent a message at each time multiple of $$$100$$$ (excluding $$$0$$$). It is impossible that he has walked Boy even once.

In the second test case, the times are the same as above, but $$$500$$$ and $$$1000$$$ are missing. The judge could have walked Boy, for instance, during the time intervals $$$[440, 560]$$$ and $$$[980, 1100]$$$. The situation is illustrated in the picture below, where the walks are represented by green intervals.

$$$$$$$$$$$$

In the third test case, the times are the same as in the first test case, but $$$1000$$$ is missing. The judge could have walked Boy at most once.

In the fourth test case, Boy could have been walked during the time intervals $$$[739, 859]$$$ and $$$[859, 979]$$$.

Example input:
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

Example output:
NO
YES
NO
YES
YES
YES

Editorial:
Notice that you may assume that the judge has sent a message at minute $$$0$$$ and at minute $$$1440$$$ and this does not change the answer (but it simplifies the reasoning and the implementation).
Let us consider two consecutive messages sent by the judge, at times $$$s<t$$$.
If $$$t-s < 120$$$, then the judge cannot have walked the dog between the two messages.
If $$$120\le t-s < 240$$$, then the judge may have walked at most once between the two messages.
If $$$240\le t-s$$$, then the judge may have walked the dog two times between the two messages.
Hence, if $$$a_{i+1}-a_{i} \ge 240$$$ for some $$$i$$$, then the answer is $$$\texttt{YES}$$$. If $$$a_{i+1}-a_i\ge 120$$$ for two distinct values of $$$i$$$, then the answer is $$$\texttt{YES}$$$. Otherwise the answer is $$$\texttt{NO}$$$.