塔子哥参加了一个闯关游戏,游戏地图是一个迷宫,一共有 n 个地点,并且这 n 个地点通过 m 条路进行联通。
由于游戏规则要求,塔子哥每次要从起点( 1 号节点)取一面旗帜,并放到官方要求的地点,然后返回起点,直到将所有旗送完。
塔子哥一共要送 q 次旗,他想知道,他需要走的最短路程是多少?
第一行输入三个整数 n,m,q(1≤n,m,q≤105) ,分别表示地点数、路径数和需要送达旗帜的地点数。
接下来 m 行,每行输入三个整数 u,v(1≤u,v≤n,u=v),w(1≤w≤104) ,表示地点 u 和地点 v 之间有一条长度为 w 的道路。
最后一行输入 q 个整数,表示需要送达旗帜的 q 个地点。
一个整数表示答案
输入
4 3 3
1 2 1
2 3 2
3 4 3
2 3 4
输出
20
说明
从 1号点到 2 号点再回来,路程距离为 2。 再从 1号点到 3 号点再回来,路程距离为 6。 最后从 1 号点到 4 号点再回来,路程距离为 12。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.