题目描述
给定一棵树,每个点上有权值 ai,请将这棵树分解为尽量多的连通区域,使得每个区域的权值之和均不小于 0。
输入格式
- 第一行:单个整数表示 n;
- 第二行:n 个整数表示 a1,a2,…,an
- 第三行:n−1 个整数 p2,p3,…,pn,表示第 i 个点的父亲为 pi,保证 pi<i。
- 保证 a1+a2+⋯+an≥0。
输出格式
- 单个整数:表示最多可以断开多少条边,断开这些边之后,每个区域的权值之和均大于等于 0。
5
3 4 2 4 2
1 1 3 1
4
5
3 -4 2 4 2
1 1 3 1
2
数据范围
- 对于 30% 的数据,1≤n≤20;
- 对于 60% 的数据,1≤n≤300;
- 对于 100% 的数据,1≤n≤2000;
- −10000≤ai≤10000。