#include <stdio.h>
#include <stdlib.h>
int main() {
int T,sum,start,end,i,j,k,r,num,s;
scanf("%d",&T);
for(r=1;r<=T;r++){
start=end=sum=-1001; //initialize
scanf("%d",&num); //input
int *a=(int *)malloc(num*sizeof(int));
for(i=0;i<num;i++)
scanf("%d",&a[i]);
for(i=0;i<num;i++){
s=0;
for(j=i;j<num;j++){
s+=a[j];
if(s>sum){
sum=s;
start=i;
end=j;
}
if(s<0){
i=j;
break;
}
}
}
printf("Case %d:\n",r);
printf("%d %d %d\n",sum,start+1,end+1);
if(r!=T)
printf("\n");
}
return 0;
}
杭电ACM第1003题——Max Sum
最新推荐文章于 2020-10-28 21:06:23 发布