Кратчайший подотрезок с суммой не меньше S

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

Submit solution


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

Problem types
Allowed languages
C++, Python

Логист анализирует объёмы грузов, отправленных подряд по дням. Для каждого из n дней известен неотрицательный объём a_i.

Нужно найти самый короткий непрерывный период дней, за который суммарный объём окажется не меньше S. Если такого периода не существует, выведите -1.

Иными словами, требуется определить минимальную длину подотрезка массива a, сумма элементов которого не меньше S.

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

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

Вторая строка содержит n целых чисел a_i — объёмы грузов по дням.

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

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

Ограничения

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

Примеры

Пример 1

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

6 7
2 3 1 2 4 3

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

2

Пояснение

Подотрезок [4,3] имеет сумму 7 и длину 2 — короче нельзя.

Пример 2

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

1 1
184

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

1

Комментарии

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