#include<stdio.h>
int main()
{
int t,n,sum,max,tail,head,h,i,j,tmp,a[100001],k;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
max=-10000;
scanf("%d",&n);
h=1;
for(k=1;k<=n;k++)
scanf("%d",&a[k]);
sum=0;
for(j=1;j<=n;j++)
{
sum=sum+a[j];
if(sum>max)
{
max=sum;
head=h;
tail=j;
}
if(sum<0)
{
sum=0;
h=j+1;
}
}
printf("case %d:\n%d %d %d",i,max,head,tail);
if(i!=t) putchar('\n');
}
return 0;
}
最大子序列和
于 2022-11-12 22:58:20 首次发布