#161Средне
Хорошие подмассивы
Время: 1 s · Память: 256 MB
- Префиксные суммы
Условие
Дан массив из цифр от до . Подмассив называется хорошим, если сумма его элементов равна его длине: . Найдите количество хороших подмассивов.
Формат ввода
В первой строке (). Во второй — строка из цифр (без пробелов).
Формат вывода
Одно число — количество хороших подмассивов.
Примеры
Ввод
3 120
Вывод
3
Ввод
5 11011
Вывод
6
Примечание
Вычтите из каждого элемента: . Теперь условие — , то есть два префикса равны: . Посчитайте, сколько раз встречается каждое значение префикса — значение, встретившееся раз, даёт пар. Префиксы лежат в , поэтому вместо словаря хватит массива со сдвигом.
