#P624. 自给自足的树

自给自足的树

题目描述

给定一棵树,每个点上有权值 aia_i,请将这棵树分解为尽量多的连通区域,使得每个区域的权值之和均不小于 00

输入格式

  • 第一行:单个整数表示 nn
  • 第二行:nn 个整数表示 a1,a2,,ana_1,a_2,\dots,a_n
  • 第三行:n1n-1 个整数 p2,p3,,pnp_2,p_3,\dots,p_n,表示第 ii 个点的父亲为 pip_i,保证 pi<ip_i<i
  • 保证 a1+a2++an0a_1+a_2+\cdots+a_n\geq 0

输出格式

  • 单个整数:表示最多可以断开多少条边,断开这些边之后,每个区域的权值之和均大于等于 00
5
3 4 2 4 2
1 1 3 1
4
5
3 -4 2 4 2
1 1 3 1
2

数据范围

  • 对于 30%30\% 的数据,1n201\leq n\leq 20
  • 对于 60%60\% 的数据,1n3001\leq n\leq 300
  • 对于 100%100\% 的数据,1n20001\leq n\leq 2000
  • 10000ai10000-10000\leq a_i\leq 10000