AT_qupc2018_e Treeone

Description

[problemUrl]: https://atcoder.jp/contests/qupc2018/tasks/qupc2018_e 数列の 'たぴさ' を、その数列の **連続する** 長さ $ 1 $ 以上の部分列のうち、要素の総和が $ 0 $ であるものの個数と定義します。 部分列の中身が同じでも、位置が異なれば別のものとして数えることとします。 長さ $ N $ の数列 $ A_1,\ A_2,\ ...,\ A_N $ が与えられます。このうち $ 1 $ つの要素を好きな整数値に変更できるとき、数列の 'たぴさ' の最小値を求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ ... $ $ A_N $

Output Format

$ 1 $ 行に答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $ - $ |A_i|\ \leq\ 10^9 $ - 入力は全て整数 ### 部分点 - $ N\ \leq\ 5000 $ を満たすデータセットに正解した場合、$ 40 $ 点が与えられる。 ### Sample Explanation 1 例えば $ A_2 $ を $ 1 $ に変更すると、総和が $ 0 $ である部分列は $ [1,1] $, $ [3,3] $, $ [4,4] $, $ [3,4] $ の $ 4 $ つとなりこれが最小です。