#agc024c. [agc024_c]Sequence Growing Easy

[agc024_c]Sequence Growing Easy

問題文

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

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

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

制約

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 0leqAileq109(1leqileqN)0 \\leq A_i \\leq 10^9(1\\leq i\\leq N)
  • 入力はすべて整数である

入力

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

NN A1A_1 :: ANA_N

出力

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


入力例 1

4
0
1
1
2

出力例 1

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) となる。

入力例 2

3
1
2
1

出力例 2

-1

入力例 3

9
0
1
1
0
1
2
2
1
2

出力例 3

8