【题意描述】
给出N个物品,可以直接被购买的称为主件,而不能直接被购买的称为附件,附件只有当其主件被购买了才能被购买,一个主件可以有任意多个附件,附件可以有多级,也就是说如果某个物品是附件,那么它还有可能有附属于它的下一级附件。每个物品都有一个权值(< 50000)。
任务 购买一些物品,总价格不超过M,使得被购买的物品的权值之和最大。
$N \lt 60,M\lt 32000$
【输入】
输入 的第1行,为两个正整数,用一个空格隔开:
M N
从第2行到第N+1行,第j行给出了编号为j-1的物品的基本数据,每行有3个非负整数
v p q
(其中v表示该物品的价格(v< 10000),p表示该物品的重要度(1~5),q表示该物品是主件还是附件。如果q=0,表示该物品为主件,如果q>0,表示该物品为附件,q是所属主件的编号)
【输出】
输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(< 200000)。
【输入样例】
1000 5
800 2 0
400 5 1
300 5 1
400 3 0
500 2 0
【输出样例】
2200
时间限制:1 s
空间限制:32 MB