巡检调整
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
园区里有 个地点,编号为 .地点之间有 条双向道路,构成一棵树.每条道路都有一个正整数长度.
巡检员从 号地点出发,需要到达任务清单上的 个地点.他可以自行安排顺序,可以重复经过道路和地点,完成任务后可以在任意地点结束,不必回到 号地点.路线长度等于每次经过的道路长度之和,同一条道路经过多次就计算多次.
现在有 个独立的调整方案.第 个方案仅取消清单上地点 的巡检任务,其余 个任务仍须完成.取消任务不会关闭地点或道路,巡检员仍可以经过 .
请分别求出每个调整方案下,完成剩余任务所需的最短路线长度.不同方案互不影响,任务不会累计取消.如果没有剩余任务,可以不移动,路线长度为 .
输入格式
第一行输入两个整数 ,分别表示地点数和任务数.
接下来 行,每行输入三个整数 ,表示地点 之间有一条长度为 的双向道路.
最后一行输入 个互不相同的整数 ,表示任务清单.
输出格式
输出 行,第 行表示仅取消地点 的任务时,完成其余任务所需的最短路线长度.
样例 1
输入
6 3
1 2 2
2 3 3
2 4 1
1 5 4
5 6 2
3 4 6
输出
12
16
7
解释
取消地点 的任务时,可以沿 行走,长度为 .
取消地点 的任务时,可以沿 行走,长度为 .
取消地点 的任务时,可以沿 行走,长度为 .
样例 2
输入
3 2
1 2 2
2 3 5
2 3
输出
7
2
解释
取消地点 的任务后,仍需经过地点 才能到达地点 .取消的是任务,不是地点.
样例 3
输入
1 1
1
输出
0
数据范围
对于所有数据,保证 ,,.给出的道路构成一棵树, 互不相同.任务清单可以包含地点 .
本题采用捆绑测试,各子任务相互独立.
| 子任务 | 分数 | 附加限制 |
|---|---|---|
| 1 | 10 | , |
| 2 | 20 | |
| 3 | 15 | 每条道路都有一个端点为 |
| 4 | 20 | |
| 5 | 35 | 无 |
下发样例
Data/sample1.in与Data/sample1.ans:题面中的样例 1.Data/sample2.in与Data/sample2.ans:题面中的样例 2.Data/sample3.in与Data/sample3.ans:题面中的样例 3.Data/sample4.in与Data/sample4.ans:满足子任务 1 的附加限制.Data/sample5.in与Data/sample5.ans:满足子任务 2 的附加限制.Data/sample6.in与Data/sample6.ans:满足子任务 3 的附加限制.Data/sample7.in与Data/sample7.ans:满足子任务 4 的附加限制.Data/sample8.in与Data/sample8.ans:该样例无特殊限制.Data/sample9.in与Data/sample9.ans:该样例无特殊限制.