Описание

Ограничение по времени: 500 ms
Ограничение по памяти: 256 Mb

Ответы на вопросы

Задача: Moo Route

В момент времени \(t=0\), Беси находится в точке \(x=0\) на бесконечной числовой прямой. Она двигается на \(1\) влево или вправо каждую секунду. Ровно через \(T\) секунд она возвращается в точку \(x=0\).

Фермер Нхой знает, сколько раз Беси пересекала точки \(x=.5, 1.5, 2.5, \ldots, (N-1).5\), и это задаётся массивом \(A_0,A_1,\dots,A_{N-1}\) (\(1\leq N \leq 10^5\), \(1 \leq A_i \leq 10^6\)). Беси никогда не достигнет ни \(x>N\), ни \(x<0\).

В частности, маршрут Беси может быть представлен строкой \(T = \sum_{i=0}^{N-1} A_i\) символов \(L\) и \(R\), где \(i\)-ый символ представляет направление, в котором двигалась Беси в течение \(i\)-ой секунды. Количество изменений направления определяется как количество пар символов \(LR\) плюс количество пар символов \(RL\) в этой строке.

Помогите ФН посчитать количество маршрутов, соответствующих массиву \(A\) с минимальным количеством изменений направления движения. Гарантируется существование как минимум одного такого маршрута.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(N\). Вторая строка содержит \(A_0,A_1,\dots,A_{N-1}\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Количество маршрутов Беси по модулю \(10^9+7\).


Прикрепите файл с исходным кодом программы:
     
или введите исходный код на языке:


Правила оформления программ и список ошибок при автоматической проверке задач
           

Ваш ответ:

Загруженные файлы:


Нет

Примечание учителя: