HDU ACM 1003 Max Sum

来源:互联网 发布:人过五十知天命感慨 编辑:程序博客网 时间:2024/05/05 13:52

注意只有一个负数时,负数也算最大值。

#include<iostream> using namespace std;int main(){int a[100001];int T,T2=0,n,i;int sum,maxsum,start,maxstart,maxend;cin>>T;while(T--){cin>>n;for(i=0;i<n;i++)cin>>a[i];maxstart=maxend=sum=0;maxsum=-500000000;start=0;for(i=0;i<n;i++){sum+=a[i];if(sum<a[i]){sum=a[i];start=i;}if(sum>maxsum){maxsum=sum;maxstart=start;maxend=i;}}cout<<"Case "<<++T2<<":\n"<<maxsum<<" "<<maxstart+1<<" "<<maxend+1<<endl;if(T!=0) cout<<endl;}    return 0;}


0 0
原创粉丝点击