Preparing NOJ

旅游路线

1000ms 65536K

Description:

在Byteland有n个城市(编号从1到n),它们之间通过n-1条双向的道路相连,从任意城市都可以走到其他的任何城市。一天,starhder到了编号为k的城市。他计划从城市k开始,游遍城市m1,m2,m3……,mj(不一定要按这个顺序旅游)。每个城市mi都是不同的,并且,也与k不同。Starhder 就像每一个旅行家一样,携带的钱总是有限的,所以,他要以最短的路程旅行完所有的城市(从城市k开始)。
于是,他请你帮助计算一下,旅游完上述的城市最短的路程是多少。

Input:

第一行包含两个整数,上文中的n和k,以一个空格隔开。(2<=n<=50000,1<=k<=n)
下面的n-1行每行描述一条路,第i+1行包含3个整数ai,bi,di,相邻两个数用一个空格隔开(1<= ai,bi <= n,1<= di <= 1000),ai和bi是用道路直接相连的城市编号,di是这条道路的长度。
第n + 1行包含一个整数j,是starhder要旅游的城市数(1<= j <= n-1),接下来一行包含j个不同的整数m1,m2,……,mj,每两个相邻的整数用一个空格隔开,表示starhder想要去的城市。(1<= mt<=n,mt <> k)。

Output:

输出只有一行,包含一个整数:starhder旅游的最短路程。

Sample Input:

4 2
1 2 1
4 2 2
2 3 3
2
1 3

Sample Output:

5

Note:

 

本题由旧版NOJ导入,来源:JSOI2010

Info

NOJ

Provider NOJ

Code NOJ1415

Tags

Submitted 0

Passed 0

AC Rate 0%

Date 04/20/2019 10:03:10

Related

Nothing Yet