#P3044. [USACO12FEB] Relocation S

[USACO12FEB] Relocation S

题目描述

Farmer John 决定搬家,重新建设农场,以便最小化他每天的行程。

Farmer John 搬往的区域有 NN1N100001 \le N \le 10\,000)个城镇,共有 MM1M500001 \le M \le 50\,000)条双向道路连接某些城镇,所有城镇都能找到互通路线。

KK1K51 \le K \le 5)个城镇建有市场,Farmer John 每天离开新农场后,都要光顾这 KK 个城镇,并返回农场。Farmer John 希望建设农场的城镇不包含市场。

请帮助 Farmer John 计算选择最佳城镇建设农场时,他每天行程长度的最小可能值。

输入格式

从标准输入读入数据。

第一行包含三个整数 N,M,KN, M, K

接下来 KK 行每行包含一个在范围 1N1 \sim N 中的整数,表示市场的编号。每个市场都在不同的城镇。

接下来 MM 行每行包含三个整数 i,j,Li, j, L1i,jN1 \le i, j \le N1L10001 \le L \le 1000),表示有从城镇 ii 到城镇 jj 的长度为 LL 的双向道路。

输出格式

输出到标准输出。

一行一个整数,表示 Farmer John 在选择最佳城镇建设农场时,他每天行程长度的最小可能值。

5 6 3 
1 
2 
3 
1 2 1 
1 5 2 
3 2 3 
3 4 5 
4 2 7 
4 5 10 

12 

提示

在这组样例中,有 55 座城镇,城镇 1,2,31, 2, 3 有市场,还有 66 条双向道路。

一种可能的最优方案:FJ 在城镇 55 建设农场。他每天的行程为 51232155 \to 1 \to 2 \to 3 \to 2 \to 1 \to 5,总距离为 1212