最大连续子序列

来源:互联网 发布:奶茶店市场调查数据 编辑:程序博客网 时间:2024/06/05 11:34
#include<iostream>#include<string.h>using namespace std;const int Max=0x3f3f3f3f;int main(){    int n;    int a[10010];    while(cin>>n&&n)    {        int x=1;        int y=n;        int N=0;        int sum=0;        int max=-Max;        memset(a,0,sizeof(a));        for(int i=1;i<=n;i++)        {            cin>>a[i];            if(a[i]<0) N++;        }        if(N==n)         {            cout<<0<<" "<<a[1]<<" "<<a[n]<<endl;            continue;        }        for(int i=1;i<=n;i++)        {            sum+=a[i];            if(sum<0)             {                sum=0;                if(sum>max) x=i+1;                continue;            }            if(sum>max)             {                max=sum;                y=i;            }        }        cout<<max<<" "<<a[x]<<" "<<a[y]<<endl;    }    return 0;}