[HAOI2010]软件安装
现有 个软件。软件 占用 的磁盘空间,价值为 。需要从中选择一些软件,安装到一台磁盘容量为 的计算机上,使能够正常工作的软件价值之和最大。
软件之间存在依赖关系。软件 只有在其依赖的软件 及软件 的所有直接或间接依赖均已安装时,才能正常工作。每个软件至多依赖另一个软件;如果某个软件不能正常工作,则其价值视为 。
已知软件 依赖软件 。若 ,则该软件没有依赖,安装后即可正常工作。每个软件只能安装一次,请求出能够获得的最大价值。
输入格式
第 行包含两个整数 、,分别表示软件数量和磁盘容量。
第 行包含 个整数 ,其中 表示软件 占用的磁盘空间。
第 行包含 个整数 ,其中 表示软件 的价值。
第 行包含 个整数 ,其中 表示软件 依赖的软件编号;若 ,则表示软件 没有依赖。
输出格式
输出一个整数,表示可以获得的最大价值。
样例输入
3 10
5 5 6
2 3 4
0 1 1
样例输出
5
数据范围
- ;
- ;
- ;
- ;
- ,且 ;
- 时间限制为 ;
- 内存限制为 。
来源与许可
本题为 HAOI 2010 试题「软件安装」,题面与测试数据整理自 BZOJ 2427。
样例 1
输入
3 10
5 5 6
2 3 4
0 1 1
输出
5