T828700 避险路线(shelter)

题目描述

某地区有编号为 $1$ 至 $N$ 的 $N$ 座城市,以及 $M$ 条连接不同城市的双向道路。每对城市之间至多有一条道路。 其中 $K$ 座城市已被封锁,不能进入。对于一座未被封锁的城市,如果从它出发,沿原有道路经过不超过 $S$ 条道路就能到达某座封锁城市,那么它属于危险城市;否则属于普通城市。判断危险程度时使用原有的全部道路,不因城市被封锁而删除道路。 你要从城市 $1$ 前往城市 $N$,并且不能经过任何封锁城市。每次沿道路到达一座中间城市,都需要在该城市住宿一晚:普通城市的住宿费用为 $P$,危险城市的住宿费用为 $Q$,其中 $P

输入格式

第一行一个整数 $T$,表示数据组数。 每组数据第一行四个整数 $N,M,K,S$。 第二行两个整数 $P,Q$。 接下来 $K$ 行,每行一个整数 $C_i$,表示一座封锁城市。所有 $C_i$ 互不相同;当 $K=0$ 时没有这部分输入。 接下来 $M$ 行,每行两个整数 $A_i,B_i$,表示城市 $A_i$ 与 $B_i$ 之间有一条双向道路,且 $A_i

输出格式

每组数据输出一行一个整数,表示最小住宿费。答案可能超过 $32$ 位有符号整数的范围。

说明/提示

城市 $7$ 被封锁,危险城市为 $3,4,6,8,12$。一条最优路线为 $1\to2\to5\to9\to10\to11\to12\to13$。 其中在城市 $2,5,9,10,11$ 住宿各花费 $1000$,在城市 $12$ 住宿花费 $6000$,起点和终点不收费,总费用为 $5\times1000+6000=11000$。 ## 样例 2 见 `考生目录/shelter/shelter2.in` 与 `考生目录/shelter/shelter2.ans`。该样例满足测试点 $1\sim6$ 的约束。 ## 样例 3 见 `考生目录/shelter/shelter3.in` 与 `考生目录/shelter/shelter3.ans`。该样例满足测试点 $7\sim12$ 的约束。 ## 样例 4 见 `考生目录/shelter/shelter4.in` 与 `考生目录/shelter/shelter4.ans`。该样例满足测试点 $13\sim20$ 的约束。 ## 样例 5 见 `考生目录/shelter/shelter5.in` 与 `考生目录/shelter/shelter5.ans`。该样例满足测试点 $13\sim20$ 的约束。 ## 样例 6 见 `考生目录/shelter/shelter6.in` 与 `考生目录/shelter/shelter6.ans`。该样例满足测试点 $13\sim20$ 的约束。 ## 样例 7 见 `考生目录/shelter/shelter7.in` 与 `考生目录/shelter/shelter7.ans`。该样例满足测试点 $13\sim20$ 的约束。 ## 数据范围 对于所有数据,保证 $1\le T\le10$。每组数据满足: - $2\le N\le10^5$,$1\le M\le2\times10^5$; - $0\le K\le N-2$,$0\le S\le10^5$; - $1\le P