loj#P4077. 「POI2022 R1」Zboże

「POI2022 R1」Zboże

题目描述

题目译自 XXX Olimpiada Informatyczna – I etap Zboże

Bajtocja 是一个美丽的国度,由公正的国王 Bajtazar 2222^{2^2} 世治理。它有 nn 个村庄(编号从 11nn),用一条连通的 n1n-1 条道路的网络连接起来。在编号为 11 的村庄旁边,有国王的城堡。

国王有 kk 个儿子,他们很快就要成年了。一个成年的王子需要自己的城堡,所以在一些村庄旁边,会建起新的城堡。

国王和他的儿子们需要在有关 Bajtocja 安全等事务上进行沟通。为此,每天从每个城堡都会派出使者,带着消息去每个其他的城堡。使者的坐骑在每次出发前,都必须吃足够的谷物。具体来说,每匹马每走 11 公里都必须吃 11 克谷物。

编写一个程序,计算在每个新城堡建成后 Bajtocja 每天对谷物的需求量。注意,两个城堡要完全沟通,需要派出两个使者:一个从第一个城堡出发,把消息送到第二个城堡,另一个使者反过来。

输入格式

第一行包含两个整数 n,k (1k<n105)n,k\ (1 \leq k<n \leq 10^5),表示 Bajtocja 的村庄数和王子数。

接下来的 n1n-1 行描述了 Bajtocja 的道路网络:每行包含三个整数 a,b,c (1a,bn,1c1000)a, b,c\ (1 \leq a, b \leq n, 1 \leq c \leq 1000),表示连接编号为 aabb 的村庄的道路,它的长度为 cc 公里。

接下来的 kk 行描述了王子们会在哪些村庄旁边建造自己的城堡。每行包含一个整数 d (2dn)d\ (2 \leq d \leq n),表示村庄 dd 旁边会有一个城堡。每个村庄旁边最多只能建一个城堡(也就是说,dd 各不相同)。

输出格式

输出 kk 行,第 ii 行包含一个整数,表示在建成第 ii 个王子的城堡后,使者的坐骑需要的谷物量(以克为单位)。

5 3
1 4 3
3 1 6
1 2 5
4 5 1
5
3
2
8
40
90

样例 2

见附加文件下 [zbo1.in](file:zbo1.in) 和 [zbo1.out](file:zbo1.out)。

该样例满足 n=1001,k=1000n=1001, k=1000;除了 11 以外的每个村庄都和 11 连接,距离都是 11

样例 3

见附加文件下 [zbo2.in](file:zbo2.in) 和 [zbo2.out](file:zbo2.out)。

该样例满足 n=100000,k=n1n=100000, k=n-1;从 11nn 的村庄都在一条路径上,王子们依次占据它们,距离都是 10001000

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务编号 额外限制 分值
11 nk105n \cdot k \leq 10^5 1515
22 村庄都在一条路径上,村庄的编号从 11nn 依次递增 3535
33 无额外限制 5050