题目描述
给定一片森林(若干棵有根树),共 个结点,结点 有一个收益 (可以为负)。
你需要选择若干个结点:
- 如果选择了结点 且它不是所在树的根,则必须选择它的父亲;
- 选择的结点总数不超过 。
求所选结点收益之和的最大值。允许一个结点都不选,此时收益之和为 。
输入格式
第一行两个整数 与 。
第二行 个整数 。
第三行 个整数 : 表示结点 是它所在树的根;否则 是结点 的父亲,保证 。
输出格式
一行一个整数,表示收益之和的最大值。
样例 1
输入:
3 2
5 -1 4
0 0 1
输出:
9
森林由两棵树组成: 是根、 是 的孩子; 单独成树。选择 :,共 个结点,不超过 。
样例 2
输入:
1 1
-3
0
输出:
0
数据范围
- 对于 的测试点,;
- 对于 的测试点,;
- 对于全部测试点,,,。