Сколько подотрезков с суммой S
Просмотр в формате PDF
Submit solution
Очки:
160
Ограничение по времени:
2.0s
Ограничение по памяти:
256M
Problem type
Allowed languages
C++, Python
Ревизор анализирует финансовый отчёт компании за n подряд идущих периодов. Для каждого периода известна прибыль — она может быть как положительной, так и отрицательной.
Необходимо определить, сколько существует непрерывных отрезков периодов, на которых суммарная прибыль оказалась ровно S.
Иными словами, требуется посчитать количество пар границ l и r таких, что сумма прибылей за периоды с l по r включительно равна S.
Входные данные
В первой строке заданы числа n и S (1 <= n <= 2*10^5, -10^18 <= S <= 10^18).
Во второй строке заданы n целых чисел a_i — прибыли по периодам (-10^9 <= a_i <= 10^9).
Выходные данные
Выведите количество непрерывных отрезков периодов, суммарная прибыль на которых равна S.
Ограничения
1 <= n <= 2 * 10^5-10^18 <= S <= 10^18-10^9 <= a_i <= 10^9
Примеры
Пример 1
Входные данные
5 4
1 2 3 -1 2
Выходные данные
2
Пример 2
Входные данные
5 0
0 0 0 0 0
Выходные данные
15
Комментарии