#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int T,n;
int t=1;
//freopen("d:\\test.txt","r",stdin);
scanf("%d",&T);
for(int k=1;k<=T;k++)
{
scanf("%d",&n);
int a;
int Max=-1001;
int sum=0;
int start=1;
int end=1;
int temp=1;
for(int i=1;i<=n;i++)
{
scanf("%d",&a);
sum+=a;
if(sum>Max)
{
start=temp;
end=i;
Max=sum;
}
if(sum<0)
{
sum=0;
temp=i+1;
}
}
cout<<"Case "<<t++<<":"<<endl;
cout<<Max<<" "<<start<<" "<<end<<endl;
if(k!=T) cout<<endl;
}
return 0;
}
HDU1003 Max Sum(最大连续子段和)
最新推荐文章于 2023-03-14 17:10:11 发布