题目描述
给定一棵以 为根的有根树,共 个结点,结点 有一个收益 (可以为负)。
你需要选择若干个结点:
- 如果选择了结点 (),则必须选择它的父亲结点;
- 选择的结点总数不超过 。
求所选结点收益之和的最大值。允许一个结点都不选,此时收益之和为 。
输入格式
第一行两个整数 与 。
第二行 个整数 。
第三行 个整数 ,其中 表示结点 的父亲,保证 。
输出格式
一行一个整数,表示收益之和的最大值。
样例 1
输入:
5 3
3 4 5 -2 -2
1 1 2 2
输出:
12
选择结点 :;这三个结点满足「选了 2 就必须选 1、选了 3 就必须选 1」,且总数 。
样例 2
输入:
3 2
-5 10 -1
1 1
输出:
5
选择结点 :。注意:想拿结点 2 的 ,必须先付结点 1 的 。
数据范围
- 对于 的测试点,;
- 对于 的测试点,;
- 对于全部测试点,,,,。