luogu#P7043. 「MCOI-03」村国

「MCOI-03」村国

题目背景

What did this player dream?\texttt{What did this player dream?}

他梦见了什么?

$\texttt{This player dreamed of sunlight and trees.Of fire and water.}$

他梦见了阳光与树木。梦见了火与水。

$\texttt{It dreamed it created. And it dreamed it destroyed. It dreamed it hunted,}$ and was hunted. It dreamed of shelter.\texttt{and was hunted. It dreamed of shelter.}

他梦见他的创造,亦梦见他毁灭。它梦见他在狩猎,亦梦见被猎捕。他梦见温馨的居所。

$\texttt{Hah, the original interface. A million years old, and it still works.But}$ $\texttt{ what true structure did this player create, in the reality behind the screen?}$

哎,那原始的界面。经历百万年的岁月,它依然在工作。只是他在屏幕后的真实里,到底创造了什么真实的世界呢?

题目描述

C 国一共有 NN 个村庄,N1N-1 条道路。这些道路都可以双向通行。保证小 S 可以从一座村庄到其他任何一座村庄。这 NN 个村庄编号为 11NN

刚开始小 S 对第 ii 个村庄的好感值为 AiA_i。小 S 的假期一共有 MM 天,他会在 C 国旅行一共 MM 天。每一天他会选择来到当前好感值最高的村庄。如果有好感值相同的村庄,他会选择编号最小的村庄。假设这一天他来到村庄 XX,那么这一天结束后,与村庄 XX 直接相邻所有村庄的好感值都会增加 11。即能从 XX 出发仅经过一条道路到达的村庄好感值会增加 11。因为小 S 已经在村庄 XX 待过一天了,所以这一天结束后村庄 XX 的好感值并不会增加。

现在小 S 想要知道经过 MM 天的旅行后好感值最高的村庄。

如果有多个好感值最高的村庄,输出编号最小的。

输入格式

本题单个测试点包含多组测试数据
第一行一个正整数 TT 表示数据组数。
对于每组数据:
第一行包括两个正整数 N,MN,M,表示村庄个数和旅行天数。
接下来一行 NN 个整数,第 ii 个整数表示第 ii 座村庄的好感值 AiA_i
接下来 N1N-1 行。每行两个整数 x,yx,y 表示村庄 xx 和村庄 yy 之间有一条双向通行的道路。

输出格式

一个整数表示 MM 天结束后好感值最高的村庄的编号。如果有多个好感值最高的村庄,输出编号最小的。

2
2 3
2 6
1 2
3 5
2 6 4
1 3
2 3
2
3

提示

样例说明

对于第一组数据,小 S 在 22 号村庄旅行了 33 天,结束时村庄 1,21,2 的好感值分别为 5,65,6。所以答案输出 22

对于第二组数据,结束时三个村庄的好感值分别为 3,7,83,7,8,所以答案输出 33

数据规模与约定

对于 100%100\% 的数据,1N2×1061 \le N\le 2\times10^61M10181 \le M\le10^{18}1Ai23111 \le A_i\le2^{31}-11T101 \le T\le10

测试点编号 AiA_i\le N\sum N \le MM \le 测试点分值
1\rm 1 1010 2020 1010 55
2\rm 2 10210^2 2×1022 \times 10^2 10210^2 1010
3\rm 3 10310^3 2×1032 \times 10^3 10310^3 1515
4\rm 4 10510^5 2×1052 \times 10^5 10510^5 2525
5\rm 5 2×1062 \times 10^6 4545

提示

本题输入量较大,请使用较快的读入方式。