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;
}
相关推荐
沐知全栈开发2 分钟前
SVG 文本:深入解析与高效应用
开发语言
张丶大帅6 分钟前
【走进Golang】
开发语言·后端·golang
Sheep Shaun8 分钟前
深入理解红黑树:从概念到完整C++实现详解
java·开发语言·数据结构·c++·b树·算法
Dave.B8 分钟前
:vtkBooleanOperationPolyDataFilter 布尔运算全解析
算法·vtk
楼田莉子10 分钟前
CMake学习:入门及其下载配置
开发语言·c++·vscode·后端·学习
易晨 微盛·企微管家13 分钟前
2025企业微信AI智能机器人实战指南:3步实现客服自动化
大数据·人工智能·算法
jiaguangqingpanda14 分钟前
Day26-20260122
java·算法·排序算法
夜月yeyue17 分钟前
VFS (虚拟文件系统) 核心架构
linux·c++·单片机·嵌入式硬件·架构
secondyoung21 分钟前
队列原理与实现全解析
c语言·数据库·mysql·算法·队列
2501_9445215921 分钟前
Flutter for OpenHarmony 微动漫App实战:列表项组件实现
android·开发语言·javascript·flutter·ecmascript