题解 | #最大序列和#

最大序列和

https://www.nowcoder.com/practice/df219d60a7af4171a981ef56bd597f7b

#include <cstdio>
#include <iostream>

using namespace std;

const int MAX=1000000;

long long arr[MAX];
long long dp[MAX];

long long MAXSubSequence(int n){
    long long maxSum=0;
    
    for(int i=0;i<n;i++){
        if(i==0){
            dp[i]=arr[i];
        }else{
            dp[i]=max(arr[i],dp[i-1]+arr[i]);
        }
        maxSum=max(maxSum,dp[i]);
    }
    return maxSum;
}

int main(){
    int n;
    while(scanf("%d",&n)!=EOF){
        if(n==0){
            break;
        }
        for(int i=0;i<n;i++){
            scanf("%lld ",&arr[i]);
        }
        long long answer=MAXSubSequence(n);
        printf("%lld\n",answer);
    }
    return 0;
}

全部评论

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务