您的位置:首页 > 其它

hdu 1231最大连续子序列 (动态规划)

2013-08-07 15:16 429 查看
哎···,动态规划!!!

#include<stdio.h>

int main()

{

int flag,sum,maxsum,i,left,right,n,t;

int a[100011];

while(scanf("%d",&n),n)

{

flag=0;

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

if(a[i]>=0)

flag=1;

}

maxsum=a[0];

left=0;right=0;

sum=0;t=0;

for(i=0;i<n;i++)

{

sum+=a[i];

if(sum>maxsum)

{

maxsum=sum;

left=t;

right=i;

}

if(sum<0)

{

sum=0;

t=i+1;

}

}

if(flag==0)

printf("0 %d %d\n",a[0],a[n-1]);

else

printf("%d %d %d\n",maxsum,a[left],a[right]);

}

return 0;

}

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1231
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: