题目描述
有n件物品,每件物品都属于一个分组。第i件物品的体积为Ci,价值为Wi,分组号为Gi。
要求从这n件物品中选出若干件,放入一个背包中,背包最多能容纳的物品体积为V。要求同一分组中的物品最多只能放进背包中一件(即背包中不能同时存在属于同一分组的两件物品)。
问:在体积和不超过V的情况下,能够放入背包中的物品价值之和的最大值是多少?
输入
第一行,两个整数n和V,以一个空格分隔,分别表示物品数量和背包最多能够容纳的物品体积。
接下来n行,每行包含三个整数Ci、Vi和Gi,以一个空格分隔,表示每件物品的体积、价值与所属的分组号。
输出
输出一个整数,表示在体积和不超过V的情况下,能够放入背包中的物品的最大价值和。
样例输入
3 5
2 3 1
3 7 1
3 5 2
样例输出
8
提示
提示:
对于60%的数据,1≤n,V,Ci,Wi,Gi≤100;
对于100%的数据,1≤n,V,Ci,Wi,Gi≤1000。