OJ_最大序列和

题干

C++实现

cpp 复制代码
#include <stdio.h>
#include <algorithm>
using namespace std;

long long s[1000001];
long long dp[1000002];//dp[i]是前i个元素中必须包含右边缘的最大子序和

int main() {
    int n;
    scanf("%d",&n);
    for(int i = 0; i< n;i++){
        scanf("%lld",&s[i]);
    }

    dp[1] = s[0];
    long long curmax = dp[1];
    for(int i = 2;i<=n;i++){
        if(dp[i-1] <= 0){
            dp[i] = s[i-1];
        }else{
            dp[i] = s[i-1]+dp[i-1];
        }
        curmax = max(dp[i],curmax);
    }
    printf("%lld",curmax);
    return 0;
}
相关推荐
lilili也2 分钟前
C++:类
c++
L_09073 分钟前
【C++】智能指针
开发语言·c++·智能指针
程序猿乐锅4 分钟前
【苍穹外卖|Day02】后台接口自测闭环:Token、DTO 与 yml 配置
java·开发语言
czhaii12 分钟前
GB2312简体中文编码表
单片机·算法
春栀怡铃声12 分钟前
【C++修仙录02】筑基篇:适配器
c++
冰暮流星13 分钟前
javascript之对象的建立-使用Object
开发语言·javascript·ecmascript
qq_25183645721 分钟前
基于java 税务管理系统设计与实现
java·开发语言
8Qi821 分钟前
LeetCode 121 & 122:股票买卖问题(DP 对比题解)✅
算法·leetcode·职场和发展·动态规划
LuminousCPP23 分钟前
从零开始学 C++|系列开篇:从 C 到 C++ 的衔接之路
开发语言·c++·笔记
超梦dasgg25 分钟前
Java 生产环境分布式定时任务全解(实战落地版)
java·开发语言·分布式