题目1011:最大连续子序列

来源:互联网 发布:网络语言兔子 编辑:程序博客网 时间:2024/06/16 00:08

#include <iostream>#include <algorithm>#include <queue>#include <vector>#include <cstring>#include <stack>#include <string>#include <string.h>#include <stdio.h>#include <cmath>#include <map>#include <functional>#include <set>#include <math.h>using namespace std;//1011int d[10010];int k,s,e,mx;int cur,cur_begin;int main(){    //freopen("input.txt","r",stdin);    while(cin>>k && k){        cur=0,mx=-1;        for(int i=0;i<k;i++)            cin>>d[i];        for(int i=0;i<k;i++){            cur+=d[i];            if(cur>mx){                mx=cur;                s=cur_begin;                e=i;            }            if(cur<0){                cur=0;                cur_begin=i+1;            }        }        if(mx<0){            cout<<0<<" "<<d[0]<<" "<<d[k-1]<<endl;        }        else{            cout<<mx<<" "<<d[s]<<" "<<d[e]<<endl;        }    }    return 0;}/**************************************************************    Problem: 1011    User: cust123    Language: C++    Result: Accepted    Time:30 ms    Memory:1556 kb****************************************************************/


0 0