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;
}
相关推荐
大傻^3 分钟前
SpringAI2.0 Null Safety 实战:JSpecify 注解体系与 Kotlin 互操作
android·开发语言·人工智能·kotlin·springai
DeepModel4 分钟前
【统计检验】方差分析(ANOVA)
算法
sz-lcw5 分钟前
HOG特征向量计算方法
人工智能·python·算法
闻缺陷则喜何志丹11 分钟前
【博弈论】P8144 [JRKSJ R4] BBWWBB|普及+
c++·算法·洛谷·博弈论
魑魅魍魉都是鬼16 分钟前
Java 适配器模式(Adapter Pattern)
java·开发语言·适配器模式
笨笨马甲17 分钟前
Qt MQTT
开发语言·qt
l1t17 分钟前
Qwen 3.5plus一步做对的欧拉计划701题
算法·动态规划·欧拉计划
Book思议-21 分钟前
【数据结构实战】链表找环入口的经典问题:快慢指针法
c语言·数据结构·算法·链表
tankeven26 分钟前
HJ135 计树
c++·算法
㓗冽26 分钟前
时间转换-进阶题12
c++·算法