OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题1451--截断数组

1451: 截断数组

时间限制: 1 Sec  内存限制: 128 MB
提交: 20  解决: 8
[提交] [状态] [讨论版] [命题人:]

题目描述

给定一个长为n的数组a[1],a[2],...,a[n]。

现在你需要把该数组分为三份,也就是选择两个位置,将其断开。之后你得到三个子数组(可以为空,即一个元素也没有)。

假设你选择i,j两个位置(i<=j)将数组断开,那么三个子数组分别为:

1. a[1],a[2],...,a[i]

2. a[i+1],a[i+2],...,a[j]

3. a[j+1],a[j+2],...,a[n]

我们记三个子数组的所有元素和分别为sum1,sum2,sum3;

sum1=a[1]+a[2]+...+a[i]

sum2=a[i+1]+a[i+2]+...+a[j]

sum3=a[j+1]+a[j+2]+...+a[n]

注意:空数组的元素和为0。

小Y同学希望截断后的数组满足:

sum1=sum3且sum1尽可能大

请你计算sum1的最大可能值。

显然,上述问题一定有解。因为我们可以令i=0,j=n,于是sum1=sum3=0。


输入

第一行一个整数n(n<=200000),表示数组长度。

第二行n个整数a[1],a[2],...a[n]。a[i]<=1e9。

输出

输出一个整数表示sum1的最大可能值。

样例输入 Copy

5
1 3 1 1 4

样例输出 Copy

5

提示

我们可以将其分为[1,3,1] , [] , [1,4]三个子数组(第二个数组为空),显然是最优划分。

来源/分类