Самый длинный участок с суммой не более S

Просмотр в формате PDF

Submit solution


Очки: 120
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem type
Allowed languages
C++, Python

Марафонская трасса разбита на n последовательных участков. Для каждого участка известно положительное целое число a_i — набор высоты на этом участке.

Марафонец хочет выбрать один непрерывный отрезок трассы для тренировки так, чтобы суммарный набор высоты на нём не превышал S.

Требуется определить максимальную длину такого непрерывного отрезка, то есть найти наибольшее число участков подряд a_l, a_{l+1}, ..., a_r, для которого выполняется условие a_l + a_{l+1} + ... + a_r <= S.

Если подходящего отрезка нет, ответом считается 0.

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

Первая строка содержит два целых числа n и S — количество участков трассы и максимально допустимый суммарный набор высоты.

Вторая строка содержит n целых чисел a_1, a_2, ..., a_n — набор высоты на каждом участке.

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

Выведите одно целое число — длину самого длинного непрерывного участка трассы, на котором суммарный набор высоты не превышает S.

Ограничения

  • 1 <= n <= 2 * 10^5
  • 0 <= S <= 10^14
  • 1 <= a_i <= 10^9

Примеры

Пример 1

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

1 1
1

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

1
Пример 2

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

5 6
1 2 3 4 5

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

3

Комментарии

Еще нет ни одного комментария.