llllmz

导航

KY22 最大序列和C

题目例子给的很好,还有不要遗漏全是负数的情况。

#include<stdio.h>
#include<math.h>
int main(){
    long long n=0;
    while(scanf("%ld",&n)!=EOF){
        long long sum=0;
        long long max=0;
        int tag=0;
        long long maxn=pow(-2,63);
        for(int i=0;i<n;i++){
            long long tem=0;
            scanf("%ld",&tem);
            if(tem>0) tag=1;
            if(tem>maxn) maxn=tem;
            sum+=tem;
            if(sum<0){
                sum=0;
            }else{
                if(sum>max){
                    max=sum;
                }
            }
        }
        if(tag==1)  {
            printf("%ld\n",max);
        }else{
            printf("%ld",maxn);
        }
    }
    return 0;
}

结果:

      

posted on 2024-02-18 18:37  神奇的萝卜丝  阅读(133)  评论(0)    收藏  举报