online_judge_1011

来源:互联网 发布:淘宝明星zero距离签名 编辑:程序博客网 时间:2024/06/05 20:33
#include <iostream>using namespace std;int main(){    int a[10000];    int k;    int i;    int result,kmax;    int kstart,kend;    int tstart,tend;    int flag;    while(cin>>k)    {        if(k == 0)            break;        for(i=0; i<k; ++i)            cin>>a[i];        result = -1;        kmax = 0;        kstart = 0;        kend = k-1;        tstart = 0;        tend = k-1;        flag = 1;        for(i=0; i<k; ++i)        {            if(a[i] > 0)            {                if(result < 0)                {                    result = a[i];                    kstart = i;                    kend = i;                    if(kmax < result)                    {                        tstart = i;                        tend = i;                        kmax = result;                    }                }                else if(result == 0)                {                    result = a[i];                    if(kmax < result)                    {                        tstart = kend;                        tend = kend;                        kmax = result;                    }                }                else                {                    result += a[i];                    kend = i;                    if(kmax < result)                    {                        tstart = kstart;                        tend = kend;                        kmax = result;                    }                }            }            else if(a[i] == 0 && flag == 1)            {                flag = 0;                if(kmax == 0)                {                    tstart = tend = i;                }            }            else            {                if(result+a[i] >= 0)                    result += a[i];                else                    result = -1;            }        }        cout<<kmax<<" "<<a[tstart]<<" "<<a[tend]<<endl;    }    return 0;}


这道题目做出来了,,还是有一点小意外,因为开始代码就写乱了,思路也乱了。。倔强地做下去……

代码过一段时间估计自己都看不懂了。唉,,太仍性了……

0 0
原创粉丝点击