#C50409. 潜水员(二维背包)

潜水员(二维背包)

题目描述

潜水员为了潜水要使用特殊的装备。他有一个带 2 种气体的气缸:一个为氧气,一个为氮气。让潜水员下潜的深度需要各种的数量的氧和氮。潜水员有一定数量的气缸。每个气缸都有重量和气体容量。潜水员为了完成他的工作需要特定数量的氧和氮。他完成工作所需气缸的总重的最低限度的是多少?

例如:潜水员有 5 个气缸。每行三个数字为:氧,氮的(升)量和气缸的重量:

3 36 120

10 25 129

5 50 250

1 45 130

4 20 119

如果潜水员需要 5 升的氧和 60 升的氮则总重最小为 249( 1,2或者4,5号气缸 )。

你的任务就是计算潜水员为了完成他的工作需要的气缸的重量的最低值。

输入格式

第一行:有 2 整数 mnm,n1m211n791 ≤ m ≤ 21,1 ≤ n ≤ 79)。它们表示氧,氮各自需要的量。

第二行:为整数 kk1n10001 ≤ n ≤ 1000 )表示气缸的个数。

此后的 kk 行,每行包括 $a_i,b_i,c_i( 1 ≤ a_i ≤ 21,1 ≤ b_i ≤ 79,1 ≤ c_i ≤ 800)3$ 整数。这些各自是:第 i 个气缸里的氧和氮的容量及汽缸重量。

输出格式

仅一行包含一个整数,为潜水员完成工作所需的气缸的重量总和的最低值。

样例

5 60
5
3 36 120
10 25 129
5 50 250
1 45 130
4 20 119
249