最大和

#include<iostream>
using namespace std;
int as[10001];
int main()
{
    int n;
    while(cin>>n&&n)
    {
        int m,b,sum=0;
        int dd=0;
        memset(as,0,sizeof(as));
        int dex1=0,dex2=0,max=-999999;
        int x=0,y=0;
        for(int ii=0;ii<n;ii++)
        {
            cin>>b;
            if(b<0)
                dd++;
            as[ii]=b;
            sum+=b;
            if(max<sum)
            {    max=sum;
                x=dex1,y=dex2;
            }
            if(sum<0)
            {
                sum=0;
                dex1=ii+1;dex2=ii+1;
            }
            else
            dex2++;
        }
        if(dd==n)
            max=0,x=0
        cout<<max<<" "<<as[x]<<" "<<as[y]<<endl;
    }

    return 0; 
}

 

posted @ 2012-12-09 16:05  无名127  阅读(110)  评论(0)    收藏  举报