P6419 [COCI 2014/2015 #1] Kamp
题目描述
一棵树 $n$ 个点,$n-1$ 条边,经过每条边都要花费一定的时间,任意两个点都是联通的。
有 $K$ 个人(分布在 $K$ 个不同的点)要集中到一个点举行聚会。
聚会结束后需要一辆车从举行聚会的这点出发,先让所有人都上车,再把这 $K$ 个人分别送回去。
请你回答,对于 $i=1 \sim n$ ,如果在第 $i$ 个点举行聚会,司机最少需要多少时间把 $K$ 个人都送回家。
输入格式
第一行两个整数 $n,K$ 。
接下来 $n-1$ 行,每行三个数 $x,y,z$ 表示 $x$ 到 $y$ 之间有一条需要花费 $z$ 时间的边。
接下来 $K$ 行,每行一个数,表示 $K$ 个人的分布。
输出格式
输出 $n$ 个数。
第 $i$ 行的数表示:如果在第 $i$ 个点举行聚会,司机需要的最少时间。
说明/提示
#### 数据规模与约定
- 对于 $50\%$ 的数据,保证 $n\le 2\times 10^3$。
- 对于 $100\%$ 的数据, $1 \le K \le n \leq 5\times 10^5$,$1 \le x,y \le n$,$1 \le z \le 10^8$ 。