#15. 没有上司的舞会2

没有上司的舞会2

题目描述

一家公司里有 nn 个员工,他们的编号分别是 11nn,其中 11 号员工是公司 CEO,CEO 在公司里没有上司。除了 CEO 外,每个人都有一个直接上司。今天公司要办一个舞会,为了大家玩得尽兴,如果某个员工的直接上司来了,他/她就不想来了。ii 号员工来参加舞会会为大家带来 aia_i 点快乐值。由于场地有大小限制,场地最多只能容纳 mm 个人。现在我们想要确定一组员工参加舞会的方案,使得快乐值总和最大。请求出快乐值总和最大是多少。

(术语说明:这是一个树上背包问题,即在满足“不能同时选择某个节点及其直接父节点”的条件下,从树中选择不超过 mm 个节点,使得所选节点的权值之和最大。)

输入格式

第一行两个整数 n,mn,m

接下来一行 n1n-1 个整数 f2,f3,,fnf_2, f_3, \dots, f_n,其中 fif_i1fi<i1 \le f_i < i)表示 ii 号员工的上司的编号。

接下来一行 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n 表示每个员工参加舞会带来的快乐值。

输出格式

一行一个整数表示答案。

样例输入

5 2
1 2 3 1
1 8 10 8 2

样例输出

16

数据范围

对于所有数据,保证 2n5002 \le n \le 5000mn0 \le m \le n1ai1051 \le a_i \le 10^5