#include<stdio.h>
#include<stdlib.h>
#define size 11111
int main(){
int c1[size];
int s,i;int t1,t2,starts;int maxx;int sum ;
while(scanf("%d",&s),s)
{
for(i=0;i<s;i++){
scanf("%d",c1+i); //输入每一个数大小并存入数组
}maxx = -1;
for(i=0,t1 =0,t2 =0, sum = 0;i<s;i++){
if(sum<0){
t1 = i;
sum = c1[i]; //开始累加下一个sum的值 而上一个sum的值存在了maxx 中
}
else
{
sum += c1[i];
}
if(sum > maxx){
maxx = sum; t2 = i;starts = t1;
}
}
if(maxx<0)
printf("%d %d %d\n",0,c1[0],c1[s-1]);
else
printf ("%d %d %d\n",maxx,c1[starts],c1[t2]);
}
return 0;
}
hdu 1231 最大连续子序列
最新推荐文章于 2021-05-25 01:49:32 发布