http://acm.hdu.edu.cn/showproblem.php?pid=1003
当初竟然没用DP- -。。。
#include<stdio.h> #define N 100100 int a[N]; int main(void) { int i,j,n,t,cas,begin,end,s,sum,Max; while(scanf("%d",&t)!=EOF) { cas=0; while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); sum=0; Max=-10000000; begin=end=s=1; for(i=1;i<=n;i++) { sum+=a[i]; if(sum>Max) { Max=sum; begin=s; end=i; } if(sum<0) { s=i+1; sum=0; } } printf("Case %d:\n",++cas); printf("%d %d %d\n\n",Max,begin,end); } } return 0; }