AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 商店
  • 应用
  • 文章
    • 题解
    • 分享
    • 问答
  • 吐槽
  • 登录/注册

AcWing 4546. 最大和加强加强版

作者: 作者的头像   菜菜-胶胶 ,  2022-07-29 11:53:14 ,  所有人可见 ,  阅读 38


1


#include <iostream>
#include <cstring>

using namespace std;

const int inf = 0x3f3f3f3f;
const int N = 1e6 + 10;
int n, m;
long long f[N], a[N], pre[N];

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    while(cin >> m >> n){
        memset(f, 0, sizeof f);
        memset(pre, 0, sizeof pre);

        for(int i = 1; i <= n; i ++)
            cin >> a[i];

        long long ans = -inf;
        for(int i = 1; i <= m; i ++){
            ans = -inf;
            for(int j = i; j <= n; j ++){
                f[j] = max(pre[j - 1], f[j - 1]) + a[j];
                pre[j - 1] = ans; ans = max(ans, f[j]);
            }
        }

        cout << ans << endl;
    }
    return 0;
}

0 评论

你确定删除吗?

© 2018-2022 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息