题目1077:最大序列和

来源:互联网 发布:法国大革命 评价 知乎 编辑:程序博客网 时间:2024/05/29 09:41

#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 <limits.h>#include <math.h>#include <ctype.h>using namespace std;//1077const int maxn=1e6+10;long long int d[maxn];long long int n,t,mx;bool flag;int main(){    //freopen("input.txt","r",stdin);    while(scanf("%d",&n)!=EOF){        flag=false;        for(int i=0;i<n;i++){            scanf("%lld",d+i);            if(d[i]>0)   flag=true;        }        if(!flag){            printf("%lld\n",*max_element(d,d+n));            continue;        }        t=mx=0;        for(int i=0;i<n;i++){            t+=d[i];            if(t>mx){                mx=t;            }            else if(t<0){                t=0;            }        }        printf("%lld\n",mx);    }    return 0;}/**************************************************************    Problem: 1077    User: cust123    Language: C++    Result: Accepted    Time:130 ms    Memory:9332 kb****************************************************************/


0 0
原创粉丝点击