当前位置: 首页 > news >正文

AcWing 5969. 最大元素和

问题描述

给定 n 个双端队列,其中第 i 个队列内有 cᵢ 个整数元素。

现在,你需要进行 m 次弹出操作。

每次操作你可以任意选定一个队列,并将其头部或尾部的元素弹出。

我们希望弹出的 m 个元素的和尽可能大。

请你计算并输出这个最大元素和。


输入格式

  • 第一行包含两个整数 nm
  • 接下来 n 行,其中第 i 行用来描述第 i 个双端队列,首先包含一个整数 cᵢ,表示该队列内的元素数量,然后包含 cᵢ 个整数,表示该队列内的元素。

输出格式

输出一个整数,表示最大元素和。


数据范围

  • 前三个测试点满足 1 ≤ n ≤ 2
  • 所有测试点满足:
    • 1 ≤ n ≤ 100
    • 1 ≤ m ≤ 10000
    • 1 ≤ cᵢ ≤ 100
    • 队列内元素的取值范围 [1, 100]
    • 所有队列的元素总数至少为 m

输入样例 1

2 3
3 3 7 2
3 4 1 5

输出样例 1

15

输入样例 2

1 3
4 4 3 1 2

输出样例 2

9

c++代码

#include<bits/stdc++.h>
#include<stdio.h>

using namespace std;

int n, m, k, ans = 0;
vector<vector<int>> w;
vector<int> last, now;

int main() {
    scanf("%d %d", &n, &m);
    w = vector<vector<int>>(n + 1);
    last = vector<int>(m + 1), now = vector<int>(m + 1);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &k);
        vector<int> mid(k + 1);
        for (int j = 1; j <= k; j++) {
            scanf("%d", &mid[j]);
            mid[j] += mid[j - 1];
        }
        int c = min(m, k), sum = mid[k] - mid[0];
        w[i] = vector<int>(c + 1);
        for (int j = 0; j <= c; j++) {
            int len = (k - j);
            for (int a = 1; a + len - 1 <= k; a++) w[i][j] = max(w[i][j], sum - (mid[a + len - 1] - mid[a - 1]));
        }
    }
    for (int i = 1; i <= n; i++) {
        int c = w[i].size() - 1;
        for (int k = 0; k <= c; k++) {
            for (int j = k; j <= m; j++) now[j] = max(now[j], w[i][k] + last[j - k]);
        }
        last = now;
    }
    printf("%d", last[m]);
    return 0;
}//by wqs

相关文章:

  • openapi + knife4j的使用
  • C++动态规划基础入门
  • Numpy和OpenCV库匹配查询,安装OpenCV ABI错误
  • 深度学习ResNet模型提取影响特征
  • 小米运维面试题及参考答案(80道面试题)
  • CST1016.基于Spring Boot+Vue高校竞赛管理系统
  • DOM解析XML:Java程序员的“乐高积木式“数据搭建
  • 国内AI大模型卷到什么程度了?
  • Linux虚拟内存详解
  • LLaMA 常见面试题
  • 探索加密期权波动率交易的系统化实践——动态对冲工具使用
  • 配置SecureCRT8.5的粘贴复制等快捷键
  • 代码生成工具explain的高级用法
  • 【随身wifi】青龙面板保姆级教程
  • ROS2---std_msgs基础消息包
  • AI+高德MCP:制作一份旅游攻略
  • PyTorch进阶学习笔记[长期更新]
  • Magnet 库教程与命名规范指南
  • 【2025最新】windows本地部署LightRAG,完成neo4j知识图谱保存
  • AnythingLLM:windows部署体验
  • 围绕加快科创中心建设,上海市委中心组学习会听取专题辅导报告
  • 旅马大熊猫“福娃”“凤仪”平安回国
  • 纽约市长称墨海军帆船撞桥已致2人死亡,撞桥前船只疑似失去动力
  • 大学2025丨北大教授陈平原:当卷不过AI时,何处是归途
  • 打造信息消费新场景、新体验,上海信息消费节开幕
  • 辽宁援疆前指总指挥王敬华已任新疆塔城地委副书记