#XYD0003. 小信的技能树

小信的技能树

题目描述

小信在学习某一个新技能的时候习惯说是“点技能点”,比如学习了 C 语言,就会说点了一下 C 语言的技能点。

我们总共有 nn 个可以学习的技能,每个技能都会有一个收获值 aia_i。然后有 n1n-1 个两两技能连接关系 (u,v)(u,v),保证从其中一个技能出发可以到达到其它所有的技能处。

我们从 11 号技能出发,遍历所有的技能。由于精力有限,我们只能选择一条从 11 号技能出发的技能链。在这条技能链上,我们能够点的技能也有限制:每一个新点的技能收获值必须大于等于前一个技能收获值。

请问我们最多能点几个技能点。

输入格式

第一行输入一个整数 nn,表示技能个数。
第二行包含 nn 个整数,表示每个技能的收获值 aia_i
接下来 n1n-1 行,每行两个整数 u,vu, v,表示技能 uuvv 相连。

输出格式

输出一个整数,表示最多能选的技能点数量。

样例

Input 1

5
3 1 2 7 9
1 2
1 3
2 4
2 5

Output 1

2

数据范围

  • 对于 10%10\% 的数据,是一条 123n1 \to 2 \to 3 \to \dots \to n 的递增链,且每个技能的收获值单调递增。
  • 对于另外 10%10\% 的数据,是一条链,且 n20n \leq 20
  • 对于另外 10%10\% 的数据,是一条链,且 n5000n \leq 5000
  • 对于另外 20%20\% 的数据,n500n \leq 500
  • 对于另外 50%50\% 的数据,1n50001 \leq n \leq 5000
  • 对于 100%100\% 的数据,1n50001 \leq n \leq 50001ai50001 \leq a_i \leq 50001u,vn1 \leq u, v \leq n

样例解释

对于样例 1,所有从 11 号技能出发的技能链有:

  • 1241 \to 2 \to 4:可以选择技能 1144(收获值 3377373 \leq 7),或技能 2244(收获值 1177171 \leq 7)。
  • 1251 \to 2 \to 5:可以选择技能 1155(收获值 3399),或技能 2255(收获值 1199)。
  • 131 \to 3:只能选择技能 11(收获值 33)或技能 33(收获值 22),但无法形成两个技能点的序列,因为 323 \geq 2 不满足递增条件。

因此,最大技能点数量为 22