#include<iostream>
#define maxn 100005
#define INF 0x7fffffff
using namespace std;
int n,l,r;
int a[maxn],b[maxn];
int fun()
{
int ret=-INF,k=1;
l=r=1;
for(int i=1; i<=n; i++) b[i]=0;
for(int i=1; i<=n; i++)
{
if(b[i-1]>=0)
{
b[i]=b[i-1]+a[i];
}
else
{
b[i]=a[i];
k=i;
}
if(ret<=b[i])
{
ret=b[i];
l=k,r=i;
}
}
return ret;
}
int main()
{
int t;
while(cin>>t)
{
for(int nt=1; nt<=t; nt++)
{
cin>>n;
for(int i=1; i<=n; i++)
{
cin>>a[i];
}
int ret=fun();
cout<<"Case "<<nt<<':'<<endl;
cout<<ret<<' '<<l<<' '<<r<<endl;
if(nt!=t)cout<<endl;
}
}
return 0;
}
最大字段和模版(一维)
最新推荐文章于 2022-07-04 13:51:49 发布