atcoder#AGC023A. [AGC023A] Zero-Sum Ranges

[AGC023A] Zero-Sum Ranges

配点 : 200200

問題文

長さ NN の整数列 AA があります。

AA空でない 連続する 部分列であって、その総和が 00 になるものの個数を求めてください。 ただし、ここで数えるのは 部分列の取り出し方 であることに注意してください。 つまり、ある 22 つの部分列が列として同じでも、取り出した位置が異なるならば、それらは別々に数えるものとします。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 109Ai109-10^9 \leq A_i \leq 10^9
  • 入力はすべて整数である。

入力

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

NN

A1A_1 A2A_2 ...... ANA_N

出力

AA の空でない連続する部分列であって、その総和が 00 になるものの個数を出力せよ。

6
1 3 -4 2 2 -2
3

空でない連続した部分列であって、その総和が 00 になるのは、(1,3,4)(1,3,-4), (4,2,2)(-4,2,2), (2,2)(2,-2)33 つです。

7
1 -1 1 -1 1 -1 1
12

この例では、列として同じだが取り出す位置の異なる部分列が複数回数えられています。 例えば、(1,1)(1,-1)33 回数えられています。

5
1 -2 3 -4 5
0

空でない連続した部分列であって、その総和が 00 になるものはありません。