S. 练习题

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

给定一个长度为 nn 的序列 {a}\{a\},希望你能找到其中一个连续的非空子序列(即子序列的值在原序列中是连续的),使得这个子序列的和最大。

输出这个最大的连续非空子序列和。

输入格式

第一行一个正整数 nn (1n2×105)(1\le n\le 2\times 10^5) ,表示序列的长度。

第二行 nn 个整数 aia_i (109ai109)(-10^9\le a_i\le 10^9)aia_i 表示序列中第 ii 个数的值。

输出格式

一行,共一个数,表示最大的连续非空子序列和。

样例

样例1

输入

8
-1 3 -2 5 3 -5 2 2

输出

9

解释

子序列 [3, 2, 5, 3][3,\ -2,\ 5,\ 3] 的值最大,等于 3+(2)+5+3=93+(-2)+5+3=9 没有更大的

样例2

输入

4
1 2 3 4

输出

10

解释

子序列 [1, 2, 3, 4][1,\ 2,\ 3,\ 4] 的值最大,等于 1+2+3+4=101+2+3+4=10 没有更大的

样例3

输入

4
-2 -1 -3 -4

输出

-1

解释

由于题目要求序列非空,故子序列 [1][-1] 的值最大。