atcoder#AGC024C. [AGC024C] Sequence Growing Easy

[AGC024C] Sequence Growing Easy

题目描述

長さ N N の数列 X X があり、最初はすべての要素が 0 0 です。X X i i 項目を Xi X_i で表すことにします。

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

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

输入格式

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

N N A1 A_1 : : AN A_N

输出格式

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

题目大意

有一个长为 nn 的序列 xx,初始时每一项都是 00
给定一个长为 nn 的序列 aa,请用下面的操作将 xx 变成 aa

  • 选择一个 ii1i<N1 \le i < N),将 xi+1x _ {i + 1} 变成 xi+1x _ i + 1

若无法变成,输出 1-1,若可以,输出最少的次数。

1n2×1051 \leq n \leq 2 \times 10 ^ 50ai1090 \leq a_i \leq 10^9nnaia_i 均为整数。

4
0
1
1
2
3
3
1
2
1
-1
9
0
1
1
0
1
2
2
1
2
8

提示

制約

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

Sample Explanation 1

次のようにして、X X A A と等しくすることができます。 - i=2 i=2 に対して操作する。X X (0,0,1,0) (0,0,1,0) となる。 - i=1 i=1 に対して操作する。X X (0,1,1,0) (0,1,1,0) となる。 - i=3 i=3 に対して操作する。X X (0,1,1,2) (0,1,1,2) となる。