Количество подотрезков с заданной суммой
Просмотр в формате PDF
Submit solution
Очки:
150
Ограничение по времени:
2.0s
Ограничение по памяти:
256M
Автор:
Problem type
Allowed languages
C++, Python
Аналитик изучает последовательность из n целых чисел a_1, a_2, ..., a_n. Он хочет определить, сколько непрерывных участков этой последовательности имеют суммарное значение ровно S.
Иными словами, требуется посчитать количество пар индексов (l, r), где 1 <= l <= r <= n, таких что сумма элементов на подотрезке от l до r равна S, то есть:
a_l + a_{l+1} + ... + a_r = S
Необходимо вывести количество таких подотрезков.
Входные данные
В первой строке даны два целых числа n и S — длина массива и требуемая сумма.
Во второй строке даны n целых чисел a_i — элементы массива.
Выходные данные
Выведите одно целое число — количество подотрезков массива, сумма элементов которых равна S.
Ограничения
1 <= n <= 2 * 10^5-10^14 <= S <= 10^14-10^9 <= a_i <= 10^9
Примеры
Пример 1
Входные данные
1 0
0
Выходные данные
1
Пример 2
Входные данные
2 3
1 2
Выходные данные
1
Комментарии