AT_maximum_cup_2018_h Maxmin Tour

Description

[problemUrl]: https://atcoder.jp/contests/maximum-cup-2018/tasks/maximum_cup_2018_h $ N $ の地点と $ M $ 個の通路があります。 $ N $ 個の地点は $ 1 $ から $ N $ まで $ 1 $ つずつ番号が振られていて、 $ i $ 個目の通路は地点 $ v_{i} $ と地点 $ u_{i} $ を長さ $ w_{i} $ \[m\]で結んでいます。 埼大君は、そこである一風変わったスタンプラリーに参加しようとしています。 内容は、地点 $ a_{1} $ でスタートして最初にスタンプを押した後、地点 $ a_{2} $ から 地点 $ a_{K} $ まで、 $ K $ 個の地点を順番にめぐり、スタンプを押していくというものです。 このスタンプラリーには成績が付き、その成績は - $ s_{i}\ := $地点$ a_{i} $ でスタンプを押してから地点$ a_{i+1} $ でスタンプを押すまでに移動した道のり\[m\] と定義したときに、$ max({s_{i}\ |\ 1\

Input Format

入力は以下の形式で標準入力から与えられます。 > $ N $ $ M $ $ v_{1} $ $ u_{1} $ $ w_{1} $ $ : $ $ v_{M} $ $ u_{M} $ $ w_{M} $ $ K $ $ a_{1} $ $ ... $ $ a_{K} $ $ Q $ $ b_{1} $ $ ... $ $ b_{Q} $

Output Format

最適な行動をした際の$ max({s_i\ |\ 1\

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 300 $ - $ N-1\ \leq\ M\ \leq\ N(N-1)/2 $ - $ 1\ \leq\ v_i,u_i\ \leq\ N(1\ \leq\ i\ \leq\ M) $ - $ v_i\ \neq\ u_i(1\leq\ i\ \leq\ M) $ - $ 1\ \leq\ w_i\ \leq\ 10^9(1\ \leq\ i\ \leq\ M) $ - $ 2\ \leq\ K\ \leq\ N $ - $ 1\ \leq\ a_i\ \leq\ N(1\ \leq\ i\ \leq\ K) $ - $ i\ \neq\ j $ なら $ a_i\ \neq\ a_j(1\ \leq\ i,j\ \leq\ K) $ - $ 0\ \leq\ Q\ \leq\ N $ - $ 1\ \leq\ b_i\ \leq\ N(1\ \leq\ i\ \leq\ Q) $ - $ i\ \neq\ j $ なら $ b_i\ \neq\ b_j(1\ \leq\ i,j\ \leq\ Q) $ ### Sample Explanation 1 最初に地点$ 1 $でスタートして、スタンプを押します。 その後、地点$ 3 $まで徒歩で移動して、スタンプを押します。$ (s_1\ =\ 2) $ その後、$ 2 $と書かれた魔法の石を割り、地点$ 2 $までワープしたのち、地点$ 6 $まで徒歩で移動してスタンプを押します。$ (s_2\ =\ 3) $ この行動がこのケースでは最適で、答えは$ 3 $となります。