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