Подотрезки с суммой S
Просмотр в формате PDFРевизор анализирует финансовый отчёт компании за n последовательных дней. Для каждого дня известна прибыль a_i — она может быть как положительной, так и отрицательной.
Ревизору нужно посчитать, сколько существует непрерывных периодов времени, у которых суммарная прибыль ровно равна S.
Иными словами, требуется найти количество пар индексов l и r таких, что 1 <= l <= r <= n и сумма a_l + a_{l+1} + ... + a_r равна S.
Входные данные
Первая строка содержит два целых числа: n и S — количество дней и требуемую суммарную прибыль.
Вторая строка содержит n целых чисел a_i — прибыль по дням.
Выходные данные
Выведите одно число — количество непрерывных периодов, суммарная прибыль на которых равна S.
Ответ может не помещаться в 32-битный целочисленный тип.
Ограничения
1 <= n <= 2 * 10^5-10^18 <= S <= 10^18|a_i| <= 10^9
Примеры
Пример 1
Входные данные
1 5
5
Выходные данные
1
Пример 2
Входные данные
5 0
1 -1 1 -1 0
Выходные данные
7
Комментарии