100 atcoder#ABC146E. [ABC146E] Rem of Sum is Num

[ABC146E] Rem of Sum is Num

配点 : 500500

問題文

長さ NN の正整数列 A1,A2,,ANA_1, A_2, \ldots , A_N と正の整数 KK が与えられます。

AA の空でない連続する部分列であって、要素の和を KK で割った余りが要素の数と等しくなるものの数を求めてください。ただし、22 つの部分列が列として同じでも、取り出す位置が異なるならば区別するものとします。

制約

  • 入力は全て整数である。
  • 1N2×1051 \leq N \leq 2\times 10^5
  • 1K1091 \leq K \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9

入力

入力は以下の形式で標準入力から与えられる。

NN KK

A1A_1 A2A_2 \cdots ANA_N

出力

条件をみたす部分列の個数を出力してください。

5 4
1 4 2 3 5
4

(1)(1), (4,2)(4,2), (1,4,2)(1,4,2), (5)(5)44 つが条件をみたす部分列です。

8 4
4 2 4 2 4 2 4 2
7

(4,2)(4,2)44 回、(2,4)(2,4)33 回数えられています。

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