#P13941. [EC Final 2019] Fire

[EC Final 2019] Fire

Description

Pang\textit{Pang} 住在一棵有 nn 个节点的树上。节点编号为 1,2,,n1,2,\ldots, nPang\textit{Pang} 起初在节点 11。每个节点都有一个温度。从第 11 天早晨开始,每天早晨每个节点的温度都会减少 11。第 00 天温度不会减少。每天的下午,如果 Pang\textit{Pang} 当前所在的节点温度为正,且他要前往的相邻节点温度不小于 00,他可以移动到一个相邻节点。每天的晚上,如果当前节点的温度大于等于 00Pang\textit{Pang} 可以施放魔法,使他所在节点的温度增加 kk

对于每一对相邻节点 aabbPang\textit{Pang} 最多只能从 aa 走到 bb 一次(从 bbaa 也最多一次)。他也可以选择不移动,留在当前节点。

Pang\textit{Pang} 想要在每个节点上恰好施放一次魔法。他还希望在出发前尽可能长时间地待在节点 11。已知第 11 天早晨之前每个节点的温度,Pang\textit{Pang} 应该在第几天准备离开?如果他在第 ii 天准备离开,他可以在这一天施放魔法,并将在第 i+1i+1 天进行第一次移动。如果即使在第 00 天准备离开也无法在每个节点上恰好施放一次魔法,输出 1-1

Input Format

第一行包含两个整数 nnkk2n100000,0k10000000002\le n\le 100000, 0\le k\le 1000000000)。

接下来的 n1n-1 行,每行包含两个整数 xxyy,表示节点 xxyy 之间有一条边(1x,yn1\le x, y\le n)。

n+1n+1 行包含 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示第 ii 个节点在第 11 天早晨之前的温度(0ai10000000000\le a_i\le 1000000000)。

保证输入是一棵树结构。

Output Format

如果无法在每个节点上恰好施放一次魔法,输出 1-1

否则,输出一个整数 xx,表示他必须在第 xx 天从节点 11 准备出发。第 11 天是第 00 天之后的一天,依此类推。

3 1
1 2
1 3
4 3 5
1
3 1
1 2
1 3
2 10 10
-1

Hint

由 ChatGPT 4.1 翻译