Олимпиадный тренинг

Задача . B. Месяцы и годы


Задача

Темы: реализация *1200

Все в России живут по Григорианскому календарю. Согласно календарю, в январе 31 день, в феврале 28 или 29 дней (в зависимости от того, является год високосным, или нет), в марте 31 день, в апреле 30 дней, в мае 31 день, в июне 30 дней, в июле 31 день, в августе 31 день, в сентябре 30 дней, в октябре 31 день, в ноябре 30 дней, в декабре 31 день.

Год является високосным в двух случаях: либо его номер кратен 4, но при этом не кратен 100, либо кратен 400. Например, високосными являются годы 2000 и 2004, но годы 1900 и 2018 високосными не являются.

В данной задаче вам будет задано n (1 ≤ n ≤ 24) целых чисел a1, a2, ..., an и вам нужно проверить, верно ли, что эти числа могли являться длительностями в днях n подряд идущих месяцев согласно Григорианскому календарю. Обратите внимание, что соответствующие ответу месяцы могут быть в нескольких подряд идущих годах. Иными словами, проверьте, существует ли такой месяц в некотором году, что его длительность равна a1, длительность следующего за ним месяца равна a2, и так далее.

Входные данные

В первой строке следует целое число n (1 ≤ n ≤ 24) — количество чисел.

Во второй строке следуют n целых чисел a1, a2, ..., an (28 ≤ ai ≤ 31) — числа, которые нужно проверить.

Выходные данные

Если существует искомый период подряд идущих месяцев, выведите «YES» (без кавычек). В противном случае, выведите «NO» (без кавычек).

Вы можете выводить каждую букву в любом регистре (строчную или заглавную).

Примечание

В первом примере числа могут задавать месяцы: июль — август — сентябрь — октябрь.

Для второго примера ответа нет, так как не бывает двух месяцев подряд, количество дней в которых равно 30.

В третьем примере числа задают месяцы: февраль (високосного года) — март — апрель – май — июнь.

В четвёртом примере количество дней во втором месяце равно 28, то есть это февраль. После февраля идёт март, в котором 31 день, а не 30, поэтому ответ на этот пример NO.

В пятом примере числа задают месяцы: декабрь — январь — февраль (невисокосного года).


Примеры
Входные данныеВыходные данные
1 4
31 31 30 31
Yes
2 2
30 30
No
3 5
29 31 30 31 30
Yes
4 3
31 28 30
No
5 3
31 31 28
Yes

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя