Найти подотрезок с суммой S
Просмотр в формате PDFАудитор анализирует последовательность финансовых изменений по дням. Для отчёта ему нужно указать любой непрерывный период, в котором суммарное изменение равно ровно S.
Дана последовательность из n чисел и значение S. Требуется найти любой подотрезок, сумма элементов которого равна ровно S, и вывести его границы l и r в нумерации с 1. Если такого периода не существует, выведите -1.
Входные данные
В первой строке заданы два целых числа n и S — длина последовательности и требуемая сумма.
Во второй строке заданы n целых чисел a_i — изменения по дням.
Выходные данные
Выведите два числа l и r — границы любого подходящего подотрезка. Если подходящего подотрезка нет, выведите -1.
Ограничения
1 <= n <= 2 * 10^5-10^18 <= S <= 10^18-10^9 <= a_i <= 10^9
Примеры
Пример 1
Входные данные
6 9
1 2 3 4 5 6
Выходные данные
2 4
Пояснение
Подотрезок [2,3] (элементы 2,3,4) даёт сумму 9; подойдёт любой такой отрезок.
Пример 2
Входные данные
1 5
-37
Выходные данные
-1
Комментарии