#include<iostream>
using namespace std;
int main()
{
int a;
cin>>a;
for(int b=1;b<=a;b++)
{
int c;
cin>>c;
int *e=new int[c];//定义动态数组
int start=0,end=0;
for(int d=0;d<c;d++)
{
cin>>e[d];
}
int Maxsum=e[0];
int sum=e[0];
int pos=0;
for(int d=1;d<c;d++)
{
if(sum+e[d]>=e[d])
{
sum+=e[d];
}
else
{
sum=e[d];
pos=d;//获取当前位置
}
if(Maxsum<sum)
{
start=pos;
Maxsum=sum;
end=d;
}
}
cout<<"Case "<<b<<":"<<endl<<Maxsum<<" "<<start+1<<" "<<end+1<<endl;//注意输出规范
if(b!=a)
cout<<endl;//空行
}
return 0;
}
07-20
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交