acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
登录
注册
题目详情提交记录(0)
  • tj

    #include <bits/stdc++.h> using namespace std; struct Garbage {int t, f, h;}; int main() { int D, G; cin >> D >> G; vector<Garbage> garbage(G); for (int i = 0; i < G; ++i) cin >> garbage[i].t >> garbage[i].f >> garbage[i].h; sort(garbage.begin(), garbage.end(), [](const Garbage& a, const Garbage& b) { return a.t < b.t; }); vector<vector<int>> dp(G + 1, vector<int>(D + 1, -1)); dp[0][0] = 10; int max_time = 0; for (int i = 0; i < G; ++i) { int t = garbage[i].t; int f = garbage[i].f; int h = garbage[i].h; for (int j = 0; j <= D; ++j) { if (dp[i][j] >= t) { if (j + h >= D) { cout << t << endl; return 0; } if (j + h <= D) { dp[i + 1][j + h] = max(dp[i + 1][j + h], dp[i][j]); } dp[i + 1][j] = max(dp[i + 1][j], dp[i][j] + f); } } max_time = max(max_time, dp[i][0]); } cout << max_time; }

    userId_undefined

    ༺ཌༀ༒☯∞复仇者∞☯༒ༀད༻™

    出道萌新时空双修者8月全勤卷王题解仙人
    2阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页