SZ#T771241. 【GESP强化 六级】灵石背包与遗迹探险

提交0 通过0
通过率0%
时间限制3000ms
内存限制256MiB
    ID: 10491 传统题 3000ms 256MiB 尝试: 0 已通过: 0 难度: 普及 上传者: 标签>C++GESPGESP6级GESP考点强化编程题洛谷团队72153私有题动态规划

题目描述

题目描述

小珅和小泽是一对热衷于探索远古遗迹的冒险家。在一次深入浮空遗迹的探险中,他们发现了一处记载着古代魔法文明的密室。密室中央悬浮着一个巨大的水晶灵石,其能量来源于周围散落的 n 块上古晶石。

为了激活传送阵离开遗迹,他们必须将部分晶石收入囊中。每块晶石 i 都有其特定的属性:占据一定的空间体积 aia_i,具有特定的重量 bib_i,以及蕴含的魔法能量 cic_i。由于小泽携带的魔法背包体积上限为 V,承重上限为 M,他们必须在不超过这两个限制的前提下,精心挑选晶石放入背包,以达到最大的魔法能量总和,从而激活传送阵。

小珅正在清点这些晶石的数据,而小泽则负责计算最佳的装载方案。请你作为他们的外脑,帮助他们算出在体积和重量双重限制下,能获得的最大魔法能量总值。

输入格式

第 1 行:2 个数 体积最大值 V 和质量最大值 M (均小于 400)

第 2 行:1 个数 晶石总数 n (小于 50)

第 3 行到第 n + 2 行,每行 3 个数:晶石的体积 aia_i、质量 bib_i 和所含能量 cic_iai,bi<400,ci<500a_i, b_i < 400, c_i < 500

输出格式

一个数,所能达到的最大能量值(不超过 int 范围)

输入输出样例

320 350
4
160 40 120
80 110 240
220 70 310
40 400 220
550

说明/提示

样例中,选择第 2 块晶石 (a2=80,b2=110,c2=240a_2=80, b_2=110, c_2=240) 和第 3 块晶石 (a3=220,b3=70,c3=310a_3=220, b_3=70, c_3=310),总体积为 80+220=30032080+220=300 \le 320,总重量为 110+70=180350110+70=180 \le 350,总能量为 240+310=550240+310=550,这是满足条件的最优解。

【数据范围】

1n501 \le n \le 50
1ai,bi4001 \le a_i, b_i \le 400
1ci5001 \le c_i \le 500
1V,M4001 \le V, M \le 400

69 10
1
41 1 591
591
20 46
1
7 12 234
234