#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <map> #define inf 0x3f3f3f3f #define ll __int64 using namespace std; int T,t,k,i,ans,sum,anss,anse,e,s,a[100005]; int main() { scanf("%d",&T); t=0; while(T--) { t++; scanf("%d",&k); for(i=0;i<k;i++) scanf("%d",&a[i]); sum=ans=a[0]; s=e=anss=anse=0; for(i=1;i<k;i++) { if(sum>=0) { sum+=a[i]; e=i; } if(sum<0) { sum=a[i]; s=e=i; } if(sum>ans) { ans=sum; anss=s; anse=e; } } if(t!=1) putchar(‘\n‘); printf("Case %d:\n%d %d %d\n",t,ans,anss+1,anse+1); } return 0; }
原文:http://blog.csdn.net/u011032846/article/details/19014175