#L0126. 聚会接送

聚会接送

题目描述

一棵 nn 个结点的树,共 n1n-1 条边,经过每条边都要花费一定的时间,任意两个结点都是联通的。

KK 位伙伴(分别住在 KK 个不同的结点上)要约到某个结点开一场聚会。

聚会结束后会有一辆摆渡车从聚会结点出发,先让所有人上车,再把这 KK 位伙伴逐一送回家,送完最后一人司机即可下班,不必回到聚会点。

请你回答:对于 i=1ni=1 \sim n,若聚会安排在第 ii 个结点,司机最少需要多少时间才能把 KK 位伙伴全部送回家。

输入格式

第一行两个整数 n,Kn,K

接下来 n1n-1 行,每行三个数 x,y,zx,y,z,表示 xxyy 之间有一条需要花费 zz 时间的边。

接下来 KK 行,每行一个数,表示 KK 位伙伴各自所在的结点。

输出格式

输出 nn 个数。

ii 行的数表示:如果在第 ii 个结点举行聚会,司机需要的最少时间。

样例

7 2
1 2 4
1 3 1
2 5 1
2 4 2
4 7 3
4 6 2
3
7
11

15 10 13 16 15 10

</p>
5 2
2 5 1
2 4 1
1 2 2
1 3 2
4
5
5

3 7 2 2

</p>

提示

数据规模与约定

  • 对于 50%50\% 的数据,保证 n2×103n\le 2\times 10^3
  • 对于 100%100\% 的数据,1Kn5×1051 \le K \le n \leq 5\times 10^51x,yn1 \le x,y \le n1z1081 \le z \le 10^8
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
860
类型
传统题
Time Limit
2000ms
Memory Limit
256MiB
上传者