atcoder#ARC137B. [ARC137B] Count 1's

[ARC137B] Count 1's

配点 : 400400

問題文

0,10,1 からなる長さ NN の整数列 A=(A1,A2,,AN)A=(A_1,A_2,\cdots,A_N) が与えられます.

あなたはこれから,次の操作をちょうど 11 回行います.

  • AA連続する部分列を選び,そこに含まれる要素を flip する.つまり,00 ならば 11 に変え,11 ならば 00 に変える. なお,ここで選ぶ部分列は空であることも許され,その場合 AA の要素は全く変化しない.

あなたのスコアは,AA に含まれる 11 の個数です. あなたが取るスコアとしてあり得る値が何通りあるか求めてください.

制約

  • 1N3×1051 \leq N \leq 3 \times 10^5
  • 0Ai10 \leq A_i \leq 1
  • 入力される値はすべて整数

入力

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

NN

A1A_1 A2A_2 \cdots ANA_N

出力

答えを出力せよ.

4
0 1 1 0
4

スコアとしてあり得る値は,0,1,2,30,1,2,344 通りです. 例えば,AA22 番目から 44 番目までの要素を flip すると,A=(0,0,0,1)A=(0,0,0,1) となり,スコアは 11 になります.

5
0 0 0 0 0
6
6
0 1 0 1 0 1
3