#2065. Relocation

Relocation

题目描述

FJ\red{FJ}决定搬家,重新建设农场,以便最小化他每天的行程。

FJ\red{FJ}搬往的区域有N(1<=N<=10,000)\red{N(1 <= N <= 10,000)}个城镇,共有M(1<=M<=50,000)\red{M (1 <= M <= 50,000)}条双向道路连接某些城镇,所有城镇都能找到互通路线。

K(1<=K<=5)\red{K (1 <= K <= 5)}个城镇建有市场,FJ\red{FJ}每天离开新农场后,都要光顾这K\red{K}个城镇,并返回农场。FJ\red{FJ}希望建设农场的城镇不包含市场。

请帮助FJ\red{FJ}选择最佳城镇建设农场,使得他每天的行程最小。

输入格式

1\red{1 }行:三个以空格分隔的整数 N\red{N}M\red{M }K\red{K}

2..1+K\red{2..1+K }行:第 i+1\red{i+1 }行包含 1...N\red{1...N }范围内的整数,用于标识包含第 i\red{i }个市场的城镇。每个市场位于不同的城镇。

2+K..1+K+M\red{2+K..1+K+M }行:每行包含 3\red{3 }个空格分隔的整数,i,j(1<=i,j<=N)\red{i,j (1 <= i,j <= N) }L(1<=L<=1000)\red{L (1 <= L <= 1000),}表示从城镇 i\red{i }到城镇 j\red{j }存在一条长度为 L\red{L }的道路。

输出格式

1\red{1 }行:如果 FJ\red{FJ }在最佳位置建造农场,他在日常工作中需要走的最短距离。

样例

输入样例

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

提示

5\red{5}个镇,1\red{1}2\red{2}3\red{3}镇有市场。有6\red{6}条道路。

FJ\red{FJ }5\red{5 }号镇建立了他的农场。他每天的日程安排带他穿过 5123215\red{5-1-2-3-2-1-5 }镇,总距离为 12\red{12}