给出一张图,图上有 n 个节点,从 1 到 n 编号,和 m 条边,每条边有一个权重,表示小明走路通过这条边的时间,所有边都是无向的。 小明从 1 号节点出发,他要去 n 号节点,他想用的总时间尽可能的短。小明有共享单车 APP ,图上有些节点有共享单车,当他到达一个有车节点后,他就可以一直骑车,如果一条边走路通过的时间是 t ,那么骑车通过的时间就是 t2 ,这里的除法是向下取整,如 t = 1 时 t2 = 0,t = 2时,t2 = 1。 小明可以先走到一个节点取车再骑车过去,也可以直接走过去,问他在最优策略下,需要多少时间从 1 到 n。 数据范围:
输入描述:
第一行两个数 n,m ,接下来有 m 行,每行三个数 u,v,w ,表示 u 和 v 之间有一条边权为 w 的无向边 接下来一个数 k ,表示有 k 个节点有车,最后输入 k 行,表示有车节点的编号 输入的图中可能有自环和重边 --


输出描述:
输出一个数,从 1 到 n 的最少所需的时间,如果 1 和 n 不连通,输出 -1 --
示例1

输入

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

输出

4

说明

小明走过去拿到车,然后骑车去目的地,路线入图:

加载中...