Кратчайший подотрезок с суммой не меньше S
Просмотр в формате PDFАльпинист движется по маршруту, разбитому на n последовательных участков. Для каждого участка известен положительный набор высоты a_i.
Требуется найти самый короткий непрерывный отрезок маршрута, на котором суммарный набор высоты не меньше S.
Иными словами, нужно найти минимальную длину такого подотрезка [l, r], что сумма
a_l + a_{l+1} + ... + a_r >= S.
Если подходящего участка маршрута не существует, выведите -1.
Входные данные
В первой строке даны два целых числа n и S — количество участков маршрута и требуемый набор высоты.
Во второй строке даны n целых чисел a_1, a_2, ..., a_n, где a_i — набор высоты на i-м участке.
Выходные данные
Выведите одно целое число — минимальную длину непрерывного участка маршрута, на котором альпинист набирает не менее S высоты.
Если такого участка нет, выведите -1.
Ограничения
1 <= n <= 2 * 10^51 <= S <= 10^141 <= a_i <= 10^9
Примеры
Пример 1
Входные данные
1 5
5
Выходные данные
1
Пример 2
Входные данные
5 7
1 2 3 4 5
Выходные данные
2
Комментарии