#P1757. 分组背包

分组背包

说明

0101 背包问世之后,小 AA 对此深感兴趣。一天,小 AA 去远游,却发现他的背包不同于 0101 背包,他的物品大致可分为 kk 组,每组中的物品相互冲突(即每个小组中至多选一件物品),现在,他想知道在不超过背包容量为mm 的情况下,能过去的最大价值是多少。

输入格式

第一行输入两个正整数 m,nm,n,分别表示背包最大承重量和物品的数量。

接下来 nn 行,每行 33 个数 wi,vi,ciw_i,v_i,c_i,表示物品的重量,利用价值,所属组数。

输出格式

一个数,最大的价值。

45 3
10 10 1
10 5 1
50 400 2
10

##【样例 1 解释】 第一小组有 22 件物品组成,选择了一件重量为1010,价值为1010的物品 第二小组由 11 件物品组成,一件物品都不选择。 能证明此方案为最优方案

提示

0m10000 \leq m \leq 10001n10001 \leq n \leq 10001k1001\leq k\leq 100wi,vi,kiw_i, v_i, k_iint 范围内。