#include<stdio.h>
#include<string.h>
#define maxn 10010
int a[maxn],dp[maxn];
int main()
{
int n,i,j,max,flag,l,r,fl;
while(scanf("%d",&n)!=EOF)
{
if(n==)
break;
flag=;
memset(dp,,sizeof(dp)); for(i=;i<=n;i++)
{
scanf("%d",&a[i]);
if(a[i]>=)
flag=;
}
max=-;
l=r=fl=;
for(i=;i<=n;i++)
{
if(dp[i-]+a[i]>=a[i])
{
dp[i]=dp[i-]+a[i];
}
else
{
fl=i;
dp[i]=a[i];
}
if(dp[i]>max)
{
l=fl;
r=i;
max=dp[i];
}
} if(!flag)
printf("0 %d %d\n",a[],a[n]);
else
printf("%d %d %d\n",max,a[l],a[r]);
}
}
相关文章
- hdu1231 最大连续子序列
- --hdu 1231 最大连续子序列(动态规划)
- hdu 1003 最大连续子串
- 【ToReadList】六种姿势拿下连续子序列最大和问题,附伪代码(以HDU 1003 1231为例)(转载)
- hdu 1003 hdu 1231 最大连续子序列【dp】
- hdu1003 Max Sum【最大连续子序列之和】
- Ex 6_1 和最大的相连子序列..._第五次作业
- ACM—最大连续子序列(HDOJ1003)
- Can you answer these queries I SPOJ - GSS1 (线段树维护区间连续最大值/最大连续子段和)
- 找一个数组的最大和的连续子数组(时间复杂度 O(n))(二)