题目描述
在 Byteland 有 n 个城市,并且其中有 k 个国王经常来访的主要城市。
其中有 m 条道路,每条道路连接两个城市。然而不幸的是,这些道路的环境极差使得国王无法全速驶过。
对于每条道路,翻修的成本是已知的。你的任务是选择性的翻修道路使得 k 个主要城市都可以经过翻修后的道路互相连通,且总成本尽量小。
输入格式
第一行,三个整数 n,k 和 m,分别表示城市的个数,主要城市的个数和道路的个数。城市的编号分别为 1,2,…,n。
第二行,k 个整数,表示主要城市。
接下来 m 行,每行三个整数 a,b 和 c,表示有一条双向道路从城市 a 连接到城市 b,且翻修成本为 c。
输出格式
输出一行,表示满足以上条件的最小的总成本。
提示
对于所有子任务,1≤c≤109 且 n≥k。
子任务 |
分数 |
数据范围 |
1 |
22 |
2≤k≤5,n≤20,1≤m≤40 |
2 |
14 |
2≤k≤3,n≤105,1≤m≤2⋅105 |
3 |
15 |
2≤k≤4,n≤1000,1≤m≤2000 |
4 |
23 |
k=4,n≤105,1≤m≤2⋅105 |
5 |
26 |
k=5,n≤105,1≤m≤2⋅105 |