杭電ACM第1003題——Max Sum
阿新 • • 發佈:2019-02-17
#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; }