#ZHB0001. 远征

远征

背景

"克哈泰伦,苦艾尔星灵久已"——DarkCarrot

"sjbb,szgyd"——IG.XY

我们伟大的Oliveria将要远征艾尔,但战斗会消耗陆战队员们(游戏中造价为50块一个人,下面简称50块)大量的能量,显而易见,单兵携带食物的量是有限的。因此Oliveria便想设计一种食品方案,让50块们在体积和承重有限的条件下携带尽可能多高热量的食物。

题目描述

但介于他的智力......

image

于是他请你来写一个程序,来计算每个50块所能携带的食物所含热量的最大值,当然每个食品只能带一份(单兵你还想带多少?)。

输入格式

第一行 22 个整数,单兵携带食物体积最大值: vv 和单兵携带食物质量最大值: mm

第二行 11 个整数代表食品总数 nn

接下来 nn 行每行 33 个数 体积 viv_i,质量 mim_i,所含热量 kik_i

输出格式

一个数,表示所能达到的最大热量(开不开long long都见祖宗)。

TIPS:

1.01背包的公式如下:

for (int i = 1; i <= n; i++) {
	for (int j = c; j >= 0; j--) {
		if (j >= W[i])
			d[j] = max(d[j], d[j - W[i]] + V[i]);
	}
}

2.改了一点点。

301 804
3
60 60 60
380 80 180
150 360 280
340

样例说明:选1,3两个物品

提示

对于 100%100\% 的数据,v,m,vi,mi500v,m,v_i,m_i \le 500n100n \le 100ki300k_i \le 300