编程题
### 问题描述
有一棵 $n$ 个节点的树,节点点权表示该点的居住人数,直接连接的节点之间的距离固定为 $1$,现在需要在某一点举办聚会,人们在前往聚会的过程中一条边最多走一次,试找到一个举办宴会的节点以使所有人到达该点的路途之和是第 $k$ 小的,若有多个节点满足,则取节点编号最小的。
### 输入格式
第一行两个正整数 $n,k$。
第二行有 $n$ 个正整数,分别代表 $n$ 个节点上居住的人数。
接下来 $n - 1$ 行,每行两个正整数 $a,b$,表示节点 $a,b$ 之间有一条边相连。
### 输出格式
输出一个整数,表示选取的节点编号。
### 样例输入
```text
10 1
1 3 5 4 2 7 4 2 8 3
1 2
1 3
2 4
2 5
4 6
4 7
5 8
3 9
3 10
```
### 样例输出
```text
2
```
### 说明
选择节点 $2$ 为聚会点时路途之和最小。节点 $1$ 的人到节点 $2$ 的路途和为 $1$,节点 $3$ 的人到节点 $2$ 的路途和为 $10$,节点 $4$ 的人到节点 $2$ 的路途和为 $4$,节点 $5$ 的人到节点 $2$ 的路途和为 $2$,节点 $6$ 的人到节点 $2$ 的路途和为 $14$,节点 $7$ 的人到节点 $2$ 的路途和为 $8$,节点 $8$ 的人到节点 $2$ 的路途和为 $4$,节点 $9$ 的人到节点 $2$ 的路途和为 $24$,节点 $10$ 的人到节点 $2$ 的路途和为 $9$。路途总和为 $76$。
### 评测数据规模
对于 $50$% 的评测数据,$1 \leq k \leq n \leq 10^3$。
对于 $100$% 的评测数据,$1 \leq k \leq n \leq 10^4$。
对于 $100$% 的评测数据,$1 \leq a \leq 2 \times 10^4$,$a$ 为点权值。