AT_joi2016yo_e.ゾンビ島 (Zombie Island)
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
JOI 君居住的岛屿遭遇了僵尸入侵。他决定逃到岛上设定的最安全的避难所。
岛上共有 N 个城镇,从 1 到 N 编号,这些城镇通过 M 条道路相互连接。每条道路都连接两个不同的城镇。JOI 君可以在这些道路上自由往返,但不能随意穿越道路以外的地方。
城市中有一些被僵尸占领,无法前往。从被僵尸占领的城镇,通过不超过 S 条道路可以到达的城镇称为“危险城镇”,其余的称为“安全城镇”。
JOI 君的家在城镇 1,而避难所位于城镇 N。这两个城镇都没有被僵尸占领。由于每次在城镇之间移动需要时间,JOI 君必须在每个目的地城镇过夜。在“安全城镇”过夜的费用较低,仅为 P 元,而在“危险城镇”过夜的费用较高,为 Q 元。JOI 君的目标是以最低的住宿费用从城镇 1 到达城镇 N。在城镇 1 和城镇 N 无需过夜。
请计算 JOI 君从家到避难所所需的最少住宿费用。
输入格式
输入包含 2+K+M 行。
-
第 1 行:四个整数 N, M, K, S,分别表示 N 个城镇,M 条道路,K 个被僵尸占领的城镇,以及“危险城镇”的距离界限 S。 (2≤N≤100000,1≤M≤200000,0≤K≤N−2,0≤S≤100000)
-
第 2 行:两个整数 P,Q,分别表示在“安全城镇”的过夜费用和在“危险城镇”的过夜费用。 (1≤P<Q≤100000)
-
接下来的 K 行:每行一个整数 Ci,表示被僵尸占领的城镇编号。 (2≤Ci≤N−1)
-
接下来的 M 行:每行两个整数 Aj,Bj,表示存在一条连接城镇 Aj 和 Bj 的道路。(1≤Aj<Bj≤N)
输入数据保证从城镇 1 可以通过未被僵尸占领的城镇路径到达城镇 N。
输出格式
输出 JOI 君从城镇 1 到城镇 N 最低住宿费用的总和。
请注意,输出结果可能超出 32 位有符号整数的范围。
样例解释
以下示例如图所示,圆圈代表城镇,线条代表道路:
在此图中,城镇 3,4,6,8 和 12 被视为“危险城镇”。以下路径可使住宿费用最低:
- 从城镇 1 到城镇 2,在城镇 2 花费 1,000 元。
- 从城镇 2 到城镇 5,在城镇 5 花费 1,000 元。
- ...(依此类推)
按照这样的步骤,JOI 君花费总计为 11,000 元,因此输出 11,000。
本翻译由 AI 自动生成
输入输出样例
输入#1
13 21 1 1 1000 6000 7 1 2 3 7 2 4 5 8 8 9 2 5 3 4 4 7 9 10 10 11 5 9 7 12 3 6 4 5 1 3 11 12 6 7 8 11 6 13 7 8 12 13
输出#1
11000
输入#2
21 26 2 2 1000 2000 5 16 1 2 1 3 1 10 2 5 3 4 4 6 5 8 6 7 7 9 8 10 9 10 9 11 11 13 12 13 12 15 13 14 13 16 14 17 15 16 15 18 16 17 16 19 17 20 18 19 19 20 19 21
输出#2
15000
输入解题思路,AI测评打分。不知道怎么写?