[省常中2011S4]starhder的旅游

成绩 0 开启时间 2013年02月21日 星期四 18:02
折扣 0.8 折扣时间 2013年02月28日 星期四 18:02
允许迟交 关闭时间 2013年02月28日 星期四 18:02
输入文件 starhder.in 输出文件 starhder.out

【题目描述】


starhder突发奇想,要去G地,于是他搞来了一张地图,看怎么走才好。

地图上有很多城市,G地也是一座城市。每两座城市之间都可能有直达方法,也有可能两座城市之间并不能直接相通,而要通过其他的城市转达。对于两个城市之间的直达方法,需要一定的时间,当然,如果从A城市到B城市的直达方法需要T时间,那么从B城市到A城市的直达方法也是T时间。

starhder想要用最短的时间到达G地,但是有个问题,他发现,地图上有些城市对他很有吸引力。所以他要在经过这些城市的基础上时间最短。

starhder已经用12345……n标记了他可能经过的城市(1代表出发地,n代表G地),但是眼花缭乱的地图让他感到烦恼。他请你来解决这个问题,告诉他最小需要多少时间到达G地。


【输入格式】

输入文件的第一行是三个正整数nmtn表示总共有多少个城市(包括出发地和G地),城市数不会超过200个;m是城市的直达路线数(1<=m<=20000),t表示一定去的城市数0<=t<=10(不包括出发地和G地)。

接下来一行有t个整数,表示一定要去的城市。

接下来m行,每行包含三个正整数,前两个数表示分别代表一个城市,第三个数是这两个城市之间的直达时间。直达时间不会超过1000000


【输出格式】

输出一个数,题目要求的得最短时间。


【样例输入】

5 10 2
2 3
1 2 5
1 3 45
1 4 61
1 5 81
2 3 9
2 4 91
2 5 4
3 4 74
3 5 42
4 5 61

【样例输出】

27

【来源】

江苏省常州高级中学 图论练习