100 atcoder#ABC182D. [ABC182D] Wandering

[ABC182D] Wandering

配点 : 400400

問題文

数列 A1,A2,A3,,ANA_1, A_2, A_3, \dots, A_N が与えられます。 この数列は負の要素を含むかもしれません。 数直線上の座標 00 に置かれているロボットが、以下の動作を順に行います。

  • 正の向きに A1A_1 進む。
  • 正の向きに A1A_1 進み、正の向きに A2A_2 進む。
  • 正の向きに A1A_1 進み、正の向きに A2A_2 進み、正の向きに A3A_3 進む。

\hspace{140pt} \vdots

  • 正の向きに A1A_1 進み、正の向きに A2A_2 進み、正の向きに A3A_3 進み、\dots 、正の向きに ANA_N 進む。

動作開始時から終了時までのロボットの座標の最大値を求めてください。

制約

  • 1N2000001 \le N \le 200000
  • 108Ai108-10^8 \le A_i \le 10^8
  • 入力はすべて整数

入力

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

NN

$A_1 \hspace{7pt} A_2 \hspace{7pt} A_3 \hspace{5pt} \dots \hspace{5pt} A_N$

出力

動作開始時から終了時までのロボットの座標の最大値を出力せよ。

3
2 -1 -2
5

ロボットは以下のように動きます。

  • 正の向きに 22 進み、座標が 22 になる。
  • 正の向きに 22 進み、座標が 44 になる。続けて正の向きに 1-1 進み、座標が 33 になる。
  • 正の向きに 22 進み、座標が 55 になる。続けて正の向きに 1-1 進み、座標が 44 になる。更に正の向きに 2-2 進み、座標が 22 になる。

動作中の座標の最大値は 55 なので、 55 を出力してください。

5
-2 1 3 -1 -1
2
5
-1000 -1000 -1000 -1000 -1000
0

この場合最初にいた座標 00 が最大値です。