atcoder#AGC023A. [AGC023A] Zero-Sum Ranges

[AGC023A] Zero-Sum Ranges

题目描述

長さ N N の整数列 A A があります。

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

输入格式

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

N N A1 A_1 A2 A_2 ... ... AN A_N

输出格式

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

题目大意

输入一个数列aa

任选i,ji,j满足iijj

问有多少种情况a[i]+a[i+1]...+a[j]=0a[i]+a[i+1]...+a[j]=0

注意:数列长度≤21052*10^5

每个数字在[109,109][-10^9,10^9]

感谢@RioBlu@RioBlu的翻译

6
1 3 -4 2 2 -2
3
7
1 -1 1 -1 1 -1 1
12
5
1 -2 3 -4 5
0

提示

制約

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

Sample Explanation 1

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

Sample Explanation 2

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

Sample Explanation 3

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