hdu 1231

来源:互联网 发布:博克软件怎么样 编辑:程序博客网 时间:2024/04/29 01:43

hdu 1231

最大连续子序列

相当好呀

精典呀

#include <iostream>

using namespace std;

int dig[10100];
int main()
{
    int n;
    while(cin>>n&&n)
    {
        for(int i=0;i<n;i++)
            cin>>dig[i];

        int num=0;
        for(int i=0;i<n;i++)
           if(dig[i]<0)
             num++;

        if(num==n)
          cout<<0<<" "<<dig[0]<<" "<<dig[n-1]<<endl;

        else
        {
            int start=0,end=0,max=-9999,sum=0;
            for(int i=0,k=0;i<n;i++)
            {
                sum+=dig[i];
                if(sum>max) {max=sum;start=k;end=i;}
                if(sum<0) {sum=0;k=i+1;}
            }
            cout<<max<<" "<<dig[start]<<" "<<dig[end]<<endl;
        }

    }
    return 0;
}

 

原创粉丝点击