倉鼠愛堅果


提交程序

分数: 100
时间限制: 1.0s
内存限制: 64M

作者:
题目类型

在一個 \(n\) 個節點的樹上,每個點編號 \(1~n\),有 \(m\) 個節點有堅果。

倉鼠可以從任意一個點出發,每一步可以移動到相鄰的點,目標是經過所有有堅果的節點並把它吃掉。

倉鼠吃完 \(m\) 個堅果後不用回到原位,問最少需要幾步?

Input

第一行兩個整數 \(n,m\)

\( 1\le m\le n\le 10^5\)

接下來 \(n-1\) 行,每行兩個整數 \(u,v\),代表 \(u,v\) ?有連邊

\(1\le u,v\le n\) , \(u\ne v\)

最後一行 \(m\) 個整數 \(x_i\),代表這些點有堅果

\(1\le x_i\le n\),所有 \(x_i\) 都不相等

Output

輸出一個整數,代表小倉鼠的最少移動步數

Constraints

第 \(1\) 組測資, \(n,m\le 3\)。 \((20\text{%})\)

第 \(2\) 組測資, 所有 \(i,i+1\) 有連邊。\((20\text{%})\)

第 \(3\) 組測資, \(m = 2\)。\((20\text{%})\)

第 \(4\) 組測資, \(n,m\le 1000\)。\((20\text{%})\)

第 \(5\) 組測資, 沒有其他限制。\((20\text{%})\)

Sample Input
4 3
1 2
2 3
2 4
1 3 4
Sample Output
4

倉鼠的一個作法是從 \(1\) 開始,依序經過 \(2,3,2,4\),共 \(4\) 步,且這是最少的。


评论

目前没有评论。