P0658

[HAOI2010]软件安装

[HAOI2010]软件安装

现有 NN 个软件。软件 ii 占用 WiW_i 的磁盘空间,价值为 ViV_i。需要从中选择一些软件,安装到一台磁盘容量为 MM 的计算机上,使能够正常工作的软件价值之和最大。

软件之间存在依赖关系。软件 ii 只有在其依赖的软件 jj 及软件 jj 的所有直接或间接依赖均已安装时,才能正常工作。每个软件至多依赖另一个软件;如果某个软件不能正常工作,则其价值视为 00。

已知软件 ii 依赖软件 DiD_i。若 Di=0D_i=0,则该软件没有依赖,安装后即可正常工作。每个软件只能安装一次,请求出能够获得的最大价值。

输入格式

第 11 行包含两个整数 NN、MM,分别表示软件数量和磁盘容量。

第 22 行包含 NN 个整数 W1,W2,…,WNW_1,W_2,\ldots,W_N,其中 WiW_i 表示软件 ii 占用的磁盘空间。

第 33 行包含 NN 个整数 V1,V2,…,VNV_1,V_2,\ldots,V_N,其中 ViV_i 表示软件 ii 的价值。

第 44 行包含 NN 个整数 D1,D2,…,DND_1,D_2,\ldots,D_N,其中 DiD_i 表示软件 ii 依赖的软件编号;若 Di=0D_i=0,则表示软件 ii 没有依赖。

输出格式

输出一个整数,表示可以获得的最大价值。

样例输入

3 10
5 5 6
2 3 4
0 1 1

样例输出

5

数据范围

  • 0≤N≤1000\le N\le 100;
  • 0≤M≤5000\le M\le 500;
  • 0≤Wi≤M0\le W_i\le M;
  • 0≤Vi≤10000\le V_i\le 1000;
  • 0≤Di≤N0\le D_i\le N,且 Di≠iD_i\ne i;
  • 时间限制为 10000 ms10000\text{ ms};
  • 内存限制为 131072 KB131072\text{ KB}。

来源与许可

本题为 HAOI 2010 试题「软件安装」,题面与测试数据整理自 BZOJ 2427。

样例 1

输入

3 10
5 5 6
2 3 4
0 1 1

输出

5