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

Задача . F. Эксперт по кроссвордам


Сегодня у Адилбека тест по теории вероятности. К сожалению, к моменту, когда Адилбек пришел в университет, уже сформировалась огромная очередь из других желающих сдать этот же тест. Адилбек оценил, что он сможет приступить к тесту только через \(T\) секунд.

К счастью, Адилбек может провести время ожидания более интересным образом, чем повторение скучных теорем и формул. У него на телефоне есть приложение с \(n\) японскими кроссвордами. Адилбек собрался решать их по одному, в том же порядке, в котором они перечислены в приложении, не пропуская ни одного кроссворда. Для каждого кроссворда известно время \(t_i\), за которое его в среднем может решить эксперт по кроссвордам (время также задано в секундах).

Адилбек — настоящий эксперт по японским кроссвордам, но, к сожалению, ему иногда не везет с выбором стратегии решения. Поэтому решение \(i\)-го кроссворда будет занимать у него либо \(t_i\) секунд, либо \(t_i + 1\) секунд равновероятно (с вероятностью \(\frac{1}{2}\) он решает кроссворд ровно за \(t_i\) секунд, а с вероятностью \(\frac{1}{2}\) он потратит дополнительную секунду на решение кроссворда). Все эти события независимы.

Ровно через \(T\) секунд (либо после решения последнего кроссворда, если он успевает их все решить меньше чем за \(T\) секунд) Адилбек закрывает приложение (если он заканчивает какой-то кроссворд в последний момент, то данный кроссворд считается решенным; иначе Адилбек бросает кроссворд не решенным до конца). Он считает, что будет очень интересно и по теме посчитать \(E\) — математическое ожидание количества кроссвордов, которые он успеет полностью решить. Можете ли вы посчитать данное матожидание?

Напомним, что матожидание дискретной случайной величины — это вероятностно-взвешенное среднее всех ее возможных значений. В данной задаче это означает, что матожидание количества решенных кроссвордов может быть посчитано как как \(E = \sum \limits_{i = 0}^{n} i p_i\), где \(p_i\) — вероятность того, что Адилбек решит ровно \(i\) кроссвордов.

Мы можем представить \(E\) как рациональную дробь \(\frac{P}{Q}\) с \(Q > 0\). В качестве ответа выведите \(P \cdot Q^{-1} \bmod (10^9 + 7)\).

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

В первой строке заданы два целых числа \(n\) и \(T\) (\(1 \le n \le 2 \cdot 10^5\), \(1 \le T \le 2 \cdot 10^{14}\)) — количество кроссвордов и время, которое есть у Адилбека.

Во второй строке заданы \(n\) целых чисел \(t_1, t_2, \dots, t_n\) (\(1 \le t_i \le 10^9\)), где \(t_i\) — это время, необходимое эксперту, чтобы решить \(i\)-й кроссворд.

Заметим, что Адилбек решает кроссворды в порядке, заданном во входных данных, не пропуская ни одного из них.

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

Выведите одно число — матожидание количества кроссвордов, решенных Адилбеком за \(T\) секунд, в форме \(P \cdot Q^{-1} \bmod (10^9 + 7)\).

Примечание

Ответ для первого примера равен \(\frac{14}{8}\).

Ответ для второго примера равен \(\frac{17}{8}\).


Примеры
Входные данныеВыходные данные
1 3 5
2 2 2
750000007
2 3 5
2 1 2
125000003

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

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