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;
}
相关推荐
轻刀快马19 小时前
浅聊Java反射
java·开发语言
宏笋19 小时前
C++11使用chrono获取当前时间戳
c++
Gerardisite19 小时前
企业微信智能客服开发实战:API自动回复指南
java·开发语言·python·机器人·企业微信
NNYSJYKJ19 小时前
K12 学习常见问题破解:脑能思维链的算法与教育应用
学习·算法
智塑未来19 小时前
装备制造行业设计制造一体化痛点攻克与实战经验总结
java·开发语言·制造
Shadow(⊙o⊙)19 小时前
硬核手搓解析!进程-内核分析:命令行参数及环境变量,重构main()
linux·运维·服务器·开发语言·c++·后端·学习
YYYing.19 小时前
【C++项目之高并发内存池 (五)】一些小细节和性能优化及整体测试
c++·性能优化·高并发·内存池·基数树
StackNoOverflow19 小时前
RabbitMQ 入门详解(含安装 + 配置 + 管理后台)
开发语言·后端·ruby
2301_7890156219 小时前
Linux:基础指令(二)
linux·运维·服务器·c语言·开发语言·c++·算法