UOJ Logo

NOI.AC

1S 512MB

#63. tree

统计

tree

题目描述

给出一个 n 个点的带边权的树。

定义 g(x,y)x,y 两点路径上权值最大边的权值,并且如果 x=yg(x,y)=0

对于一个长度为 n 的序列 P={p1,p2,,pn},(1pin) ,定义 f(P)=min

如果一个序列 P 是合法的,当且仅当元素 j 在序列 P 中出现的次数不超过 x_j 次。

求所有合法的序列 P 中, f(P) 的最大值。

输入格式

第一行一个数 n

接下来一共 n-1 行,每行三个数 u,v,w ,表示一条 u,v 之间权值为 w 的边。

最后一行,一共n个数,表示 x_i

输出格式

一个数,表示 f(P) 的最大值。

样例

输入

4
1 2 1
2 3 2
3 4 3
1 1 1 1

输出

2

数据范围

1 \leq n \leq 100000, 1 \leq w \leq 10^9, 1 \leq x_i \leq n

Subtask1 (30\%) : n \leq 10

Subtask2 (30\%) : n \leq 1000

Subtask3 (40\%) :无特殊限制。

时间限制: 1s

空间限制: 256MB