hdoj_1003 Max Sum

来源:互联网 发布:ios定时关机软件 编辑:程序博客网 时间:2024/06/11 08:12

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003

题目大意:最大子段和问题

//C++代码#include<iostream>using namespace std;int main(){int T,n,a,i,j;cin>>T;for(i=1;i<=T;i++){cin>>n>>a;int sum,left,right,s,l,r;sum=s=a;left=right=l=r=1;for(j=2;j<=n;j++){cin>>a;if(s<0){if(a>s){s=a,l=r=j;if(s>sum) sum=s,left=right=j;}}else{if(s+a>=0){s+=a,r=j;if(s>sum) sum=s,left=l,right=r;}else s=a,l=r=j;}}if(i!=1) cout<<endl;cout<<"Case "<<i<<":"<<endl;cout<<sum<<" "<<left<<" "<<right<<endl;    }    return 0;}