Max Sum
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 99625 Accepted Submission(s): 22922
2 5 6 -1 5 4 -7 7 0 6 -1 1 -6 7 -5
Case 1: 14 1 4 Case 2: 7 1 6
#include<iostream>
using namespace std;
int main()
{
int t,count=1;
cin>>t;
while(t--){
int n,a[100002],max=-100000,begin,end,sum=0,k=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
sum+=a[i];
if(sum>max)
{
max=sum;
end=i+1;
begin=k+1;
}
if(sum<0)
{
k=i+1;
sum=0;
}
}
cout<<"Case "<<count++<<":"<<endl;
cout<<max<<" "<<begin<<" "<<end<<endl;
if(t!=0)
cout<<endl;
}
return 0;
}
难点:位置的确定