101464: [AtCoder]ABC146 E - Rem of Sum is Num

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $500$ points

Problem Statement

Given are a sequence of $N$ positive integers $A_1, A_2, \ldots, A_N$, and a positive integer $K$.

Find the number of non-empty contiguous subsequences in $A$ such that the remainder when dividing the sum of its elements by $K$ is equal to the number of its elements. We consider two subsequences different if they are taken from different positions, even if they are equal sequences.

Constraints

  • All values in input are integers.
  • $1 \leq N \leq 2\times 10^5$
  • $1 \leq K \leq 10^9$
  • $1 \leq A_i \leq 10^9$

Input

Input is given from Standard Input in the following format:

$N$ $K$
$A_1$ $A_2$ $\cdots$ $A_N$

Output

Print the number of subsequences that satisfy the condition.


Sample Input 1

5 4
1 4 2 3 5

Sample Output 1

4

Four sequences satisfy the condition: $(1)$, $(4,2)$, $(1,4,2)$, and $(5)$.


Sample Input 2

8 4
4 2 4 2 4 2 4 2

Sample Output 2

7

$(4,2)$ is counted four times, and $(2,4)$ is counted three times.


Sample Input 3

10 7
14 15 92 65 35 89 79 32 38 46

Sample Output 3

8

Input

题意翻译

给定一个序列和一个 $K$,求这个序列有多少个子区间(子串)满足该区间内所有元素和 $S$ 除以 $K$ 的余数是区间长度。 即存在多少对 $(l,r)$,满足 $0<r-l+1<k$,$K\ |\ ((a_l+a{l+1}+\cdots+a_r)-(r-l+1))$。

加入题单

算法标签: