欢迎24级新生

2053. 第十四届蓝桥杯大赛软件赛省赛 C/C++大学B组

某景区一共有N个景点,编号1到N。景点之间共有N−1条双向的摆渡车线路相连,形成一棵树状结构。在景点之间往返只能通过这些摆渡车进行,需要花费一定的时间。小明是这个景区的资深导游,他每天都要按固定顺序带客人游览其中K个景点:A1,A2,...,AK。今天由于时间原因,小明决定跳过其中一个景点,只带游客按顺序游览其中K−1个景点。具体来说,如果小明选择跳过Ai,那么他会按顺序带游客游览A1,A2,...,Ai−1,Ai+1,...,AK,(1≤i≤K)。请你对任意一个Ai,计算如果跳过这个景点,小明需要花费多少时间在景点之间的摆渡车上?渡车线路相连,形成一棵树状结构。在景点之间往返只能通过这些摆渡车进行,需要花费一定的时间。小明是这个景区的资深导游,他每天都要按固定顺序带客人游览其中K个景点:A1,A2,...,AK。今天由于时间原因,小明决定跳过其中一个景点,只带游客按顺序游览其中K−1个景点。具体来说,如果小明选择跳过Ai,那么他会按顺序带游客游览A1,A2,...,Ai−1,Ai+1,...,AK,(1≤i≤K)。请你对任意一个Ai,计算如果跳过这个景点,小明需要花费多少时间在景点之间的摆渡车上?

输入

第一行包含2个整数N和K。以下N−1行,每行包含3个整数u,v和t,代表景点u和v之间有摆渡车线路,花费t个单位时间。最后一行包含K个整数A1,A2,...,AK代表原定游览线路。以下N−1行,每行包含3个整数u,v和t,代表景点u和v之间有摆渡车线路,花费t个单位时间。最后一行包含K个整数A1,A2,...,AK代表原定游览线路。

输出

输出K个整数,其中第i个代表跳过Ai之后,花费在摆渡车上的时间。

样例

标准输入 复制文本
6 4
1 2 1
1 3 1
3 4 2 
3 5 2
4 6 3
2 6 5 1
标准输出 复制文本
10 7 13 14
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 0
通过 0