atcoder#AGC024C. [AGC024C] Sequence Growing Easy

[AGC024C] Sequence Growing Easy

配点 : 700700

問題文

長さ NN の数列 XX があり、最初はすべての要素が 00 です。XXii 項目を XiX_i で表すことにします。

長さ NN の数列 AA が与えられます。AAii 項目は AiA_i です。 以下の操作を繰り返すことで XXAA と等しくすることができるかどうか判定し、できるなら最小の操作回数を求めてください。

  • 1iN11\leq i\leq N-1 なる整数 ii を選ぶ。Xi+1X_{i+1} の値を XiX_i の値に 11 を足したもので置き換える。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Ai109(1iN)0 \leq A_i \leq 10^9(1\leq i\leq N)
  • 入力はすべて整数である

入力

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

NN

A1A_1

::

ANA_N

出力

操作を繰り返すことで XXAA と等しくすることができるなら最小の操作回数を、できないなら 1-1 を出力せよ。

4
0
1
1
2
3

次のようにして、XXAA と等しくすることができます。

  • i=2i=2 に対して操作する。XX(0,0,1,0)(0,0,1,0) となる。
  • i=1i=1 に対して操作する。XX(0,1,1,0)(0,1,1,0) となる。
  • i=3i=3 に対して操作する。XX(0,1,1,2)(0,1,1,2) となる。
3
1
2
1
-1
9
0
1
1
0
1
2
2
1
2
8