s[1] = a[1];
s[n] = s[n-1]>=0?s[n-1]+a[n]:a[n];
#include"iostream"
#include"algorithm"
using namespace std;
const int maxn=200000;
int main()
{
int T,Case=0;
scanf("%d",&T);
while(T--)
{
int num[maxn];
int sum=0;
int Max;
Max=-10000000030;
int n;
int Start=1,End=1,Zpos=1;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&num[i]);
if(sum>=0)
{
sum+=num[i];
}
else
{
sum=num[i];
Zpos=i;
}
if(sum>Max)
{
Max=sum;
End=i;
Start=Zpos;
}
}
if(Case)
printf("\n");
cout<<"Case "<<++Case<<":"<<endl<<Max<<" "<<Start<<" "<<End<<endl;
}
return 0;
}
#include"iostream"
using namespace std;
const int maxnum=200000;
int main()
{
//freopen("a.txt","r",stdin);
int t,k=0,fuck;
cin>>t;
fuck=t;
while(t--)
{
++k;
int n;
cin>>n;
int i;
int a[maxnum];
for(i=1;i<=n;i++)
cin>>a[i];
int sum=0,max=-99999;
int begin,end,t;
for(t=1,i=1;i<=n;i++) //t表示起点
{
if(sum>=0) //初始sum=0符合条件 这是当前sum的前一个sum
{
sum=sum+a[i]; //第一个数的和
}
else
{
sum=a[i];
t=i;
}
if(sum>max)
{
max=sum;
begin=t;
end=i;
}
}
cout<<"Case "<<k<<":\n";
cout<<max<<" "<<begin<<" "<<end<<endl;;
if (k!=fuck)
printf("\n");
}
}