Подотрезки с суммой S

Просмотр в формате PDF

Submit solution


Очки: 160
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem type
Allowed languages
C++, Python

Ревизор анализирует финансовый журнал компании за n последовательных дней. Для каждого дня известна прибыль a_i. Значение может быть как положительным, так и отрицательным: убытки тоже учитываются.

Назовём периодом любой непрерывный отрезок дней. Требуется посчитать, сколько существует периодов, у которых суммарная прибыль ровно равна S.

Входные данные

Первая строка содержит два целых числа n и S — число дней в журнале и требуемую суммарную прибыль.

Вторая строка содержит n целых чисел a_i — прибыль по дням.

Выходные данные

Выведите одно целое число — количество непрерывных периодов с суммарной прибылью ровно S.

Ответ может не помещаться в 32-битный целочисленный тип.

Ограничения

  • 1 <= n <= 2 * 10^5
  • -10^18 <= S <= 10^18
  • -10^9 <= a_i <= 10^9

Примеры

Пример 1

Входные данные

6 0
1 -1 2 -2 3 -3

Выходные данные

6

Пояснение

Подотрезков с нулевой суммой здесь несколько; их количество равно 6.

Пример 2

Входные данные

1 0
-7

Выходные данные

0

Комментарии

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