PAT1007. Maximum Subsequence Sum

来源:互联网 发布:bcg矩阵分析法 编辑:程序博客网 时间:2024/05/16 00:47
#include<climits>#include<iostream>using namespace std;int sum[10004],val[10004];int main(){  int cnt;cin>>cnt;  for(int i=0;i<cnt;++i){    cin>>val[i];    sum[i]+=(i?sum[i-1]+val[i]:val[i]);  }  int mmax=INT_MIN,_i,_j;  for(int i=0;i<cnt;++i)    for(int j=i;j<cnt;++j){      int tmp=sum[j]-sum[i]+val[i];      if(tmp>mmax)mmax=tmp,_i=i,_j=j;    }  if(mmax<0)cout<<0<<' '<<val[0]<<' '<<val[cnt-1];  else cout<<mmax<<' '<<val[_i]<<' '<<val[_j];    }
做下预处理就能在线性时间内求出序列中任意区间内数字之和
0 0
原创粉丝点击