最大连续子段和:
#include<iostream>
using namespace std;
int a[100000];
int start,end;
int main()
{
int n,m;
while(cin>>n)
{
for(int i=0;i<n;i++)
{
cin>>m;
for(int j=1;j<=m;j++)
{
cin>>a[j];
}
int max=-1001;
int sum=0;
for(int x=1,y=1;x<=m;x++)
{
sum=sum+a[x];
if(sum>max)
{
max=sum;
start=y;
end=x;
}
if(sum<0)
{
sum=0;
y=x+1;
}
}
cout<<"Case "<<i+1<<":"<<endl;
cout<<max<<" "<<start<<" "<<end<<endl;
if(i+1!=n)
cout<<endl;
}
}
}
hdu 1003 Max Sum
最新推荐文章于 2022-03-03 08:27:19 发布