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;
}
相关推荐
刺客xs几秒前
Qt----事件简述
开发语言·qt
程序员-King.4 分钟前
【Qt开源项目】— ModbusScope-进度规划
开发语言·qt
syt_101312 分钟前
Object.defineProperty和Proxy实现拦截的区别
开发语言·前端·javascript
liu****13 分钟前
Python 基础语法(二):程序流程控制
开发语言·python·python基础
charlie11451419114 分钟前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++
时空无限16 分钟前
Java Buildpack Reference
java·开发语言
涛涛北京21 分钟前
【强化学习实验】- 策略梯度算法
人工智能·算法
栀秋66636 分钟前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法
serendipity_hky38 分钟前
【go语言 | 第2篇】Go变量声明 + 常用数据类型的使用
开发语言·后端·golang
Pyeako1 小时前
机器学习之KNN算法
人工智能·算法·机器学习