#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