题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1003
经验教训:动态规划还没看到~~先弱个题,理解一下意思~~代码真丑。。。
我的代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{int t;
scanf("%d",&t);
int i,k=0,start,end,kk;
for(i=0;i<t;i++)
{long int n,a[100002];
scanf("%d",&n);
int j;
for(j=0;j<n;j++)
scanf("%d",&a[j]);
start=end=kk=0;
int max=a[0];
long int ss=0;
for(j=0;j<n;j++)
{ss+=a[j];
if(ss>max){max=ss;start=kk;end=j;}
if(ss<0){ss=0;kk=j+1;}
}
k++;
printf("Case %d:\n",k);
printf("%d %d %d\n",max,start+1,end+1);
if(i!=t-1)printf("\n");
}
return 0;
}