给定一个 n 个点 m 条边的有向图,有 k 个标记点,要求从规定的起点按任意顺序经过所有标记点到达规定的终点,问最短的距离是多少。
第一行 5 个整数 n、m、k、s、t,表示点个数、边条数、标记点个数、起点编号、终点编号。
接下来 m 行每行 3 个整数 x、y、z,表示有一条从 x 到 y 的长为 z 的有向边。
接下来 k 行每行个整数表示标记点编号。
输出一个整数,表示最短距离,若没有方案可行输出 - 1。
3 3 2 1 1 1 2 1 2 3 1 3 1 1 2 3
3
对于 100% 的数据,1≤n≤50000,m≤1000000,k≤10,1≤z≤5000