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

Задача . E. Линейное сканирование


Будьте осторожны, чтобы не совершить ошибку. Вам, возможно, придется начать все сначала.
— Кто-то, вероятно
Входные данные

Первая строка содержит одно целое число \(n\) (\(1 \leq n \leq 10^5\)) — длина массива \(a\).

Вторая строка содержит \(n\) целых чисел \(a_1, a_2, \ldots, a_n\) (\(0 \leq a_i \leq 2\)) — массив \(a\).

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

Выведите одно целое число — количество решений по модулю \(20240401\).

Примечание

В первом примере массив выглядит следующим образом:

\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{darkgreen}{2} \)\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{darkgreen}{2} \)\( \color{gray}{0} \)

Очевидно, что ответ здесь равен \(1 \pmod{20240401}\).

Во втором примере массив выглядит следующим образом:

\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{darkgreen}{2} \)\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{gray}{0} \)

Я не знаю, почему ответ здесь равен \(2 \pmod{20240401}\), мне пришлось догадаться.

В третьем примере массив выглядит следующим образом:

\( \color{gray}{0} \)\( \color{blue}{1} \)\( \color{darkgreen}{2} \)\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{blue}{1} \)\( \color{gray}{0} \)

Если ответ здесь не равен \(0 \pmod{20240401}\), я буквально взорвусь.


Примеры
Входные данныеВыходные данные
1 7
1 1 2 1 1 2 0
1
2 7
1 1 2 1 1 1 0
2
3 7
0 1 2 1 1 1 0
0

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

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