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

时间:2024-01-12 18:24:32

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

AC code:

#include<stdio.h>
int a[100005];
int main(void)
{
int n,i;
int sum,maxn,tem,s,e,flag;
while(scanf("%d",&n)!=EOF,n)
{
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
sum=0;
maxn=-10000;
tem=1;
flag=0;
for(i=0; i<n; i++)
{
if(a[i]>=0)
{
flag=1;
break;
}
}
if(flag)
{
for(i=0; i<n; i++)
{
sum+=a[i];
if(sum>maxn)
{
maxn=sum;
s=tem;
e=i+1;
}
else if(sum<0)
{
sum=0;
tem=i+2;
}
}
printf("%d %d %d\n",maxn,a[s-1],a[e-1]);
}
else
{
printf("%d %d %d\n",0,a[0],a[n-1]);
}
}
return 0;
}