Сколько подотрезков с суммой 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

Комментарии

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