QOJ.ac

QOJ

Time Limit: 10 s Memory Limit: 256 MB Total points: 100

#23849. 喪屍島

Statistics

JOI 君住緊嘅島嶼俾喪屍侵略咗。JOI 君決定逃去島上面設定為最安全避難場所嘅避難所。

JOI 君住緊嘅島嶼由編號係城鎮 $1$ 到城鎮 $N$ 嘅 $N$ 個城鎮組成,城鎮同城鎮之間由道路連接。島上面有 $M$ 條道路,每條道路連接 $2$ 個唔同嘅城鎮。JOI 君可以喺道路上面雙向自由移動,但係唔可以透過道路以外嘅途徑由一個城鎮去另一個城鎮。

有幾個城鎮俾喪屍控制咗,唔可以去。由俾喪屍控制嘅城鎮出發用唔超過 $S$ 條道路就去到嘅城鎮叫做危險城鎮。其餘嘅城鎮叫做非危險城鎮。

JOI 君屋企喺城鎮 $1$,避難嘅目的地避難所喺城鎮 $N$。城鎮 $1$ 同城鎮 $N$ 冇俾喪屍控制。因為喺島上面嘅道路移動好花時間,JOI 君每次移動去另一個城鎮嗰陣,都必須喺目的地城鎮住一晚。JOI 君喺非危險城鎮住嗰陣,會住住宿費係 $P$ 日圓嘅平價旅館;而喺危險城鎮住嗰陣,會住保安服務優良、住宿費係 $Q$ 日圓嘅高級旅館。JOI 君希望盡可能令住宿費最平咁移動去城鎮 $N$ 避難。喺城鎮 $1$ 同城鎮 $N$ 唔使住宿。

求 JOI 君由城鎮 $1$ 移動去城鎮 $N$ 所需嘅總住宿費嘅最小值。

輸入格式

輸入由 $2 + K + M$ 行組成。

第 $1$ 行包含 $4$ 個用空格隔開嘅整數 $N, M, K, S$ ($2 \le N \le 100000$, $1 \le M \le 200000$, $0 \le K \le N - 2$, $0 \le S \le 100000$)。呢個表示島嶼由 $N$ 個城鎮同 $M$ 條道路組成,$N$ 個城鎮入面有 $K$ 個城鎮俾喪屍控制,而且由俾喪屍控制嘅城鎮出發用唔超過 $S$ 條道路就去到嘅城鎮叫做危險城鎮。

第 $2$ 行包含 $2$ 個用空格隔開嘅整數 $P, Q$ ($1 \le P < Q \le 100000$)。呢個表示 JOI 君喺非危險城鎮住住宿費係 $P$ 日圓嘅旅館,喺危險城鎮住住宿費係 $Q$ 日圓嘅旅館。

接住落嚟 $K$ 行入面嘅第 $i$ 行 ($1 \le i \le K$) 包含整數 $C_i$ ($2 \le C_i \le N - 1$)。呢個表示城鎮 $C_i$ 俾喪屍控制。$C_1, \dots, C_K$ 全部唔同。

接住落嚟 $M$ 行入面嘅第 $j$ 行 ($1 \le j \le M$) 包含 $2$ 個用空格隔開嘅整數 $A_j, B_j$ ($1 \le A_j < B_j \le N$)。呢個表示城鎮 $A_j$ 同城鎮 $B_j$ 之間有一條道路。相同嘅 $(A_j, B_j)$ 組合唔會出現 $2$ 次或以上。

喺俾定嘅輸入數據入面,保證可以只經過冇俾喪屍控制嘅城鎮由城鎮 $1$ 移動去城鎮 $N$。

輸出格式

喺 $1$ 行入面輸出 JOI 君由城鎮 $1$ 移動去城鎮 $N$ 所需嘅總住宿費嘅最小值。

請注意,輸出結果未必喺 $32$ 位有符號整數嘅範圍之內。

範例

範例輸入 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

範例解釋 1

範例 $1$ 對應下面幅圖。圓圈表示城鎮,線段表示道路。

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

喺呢個情況下,城鎮 $3$、城鎮 $4$、城鎮 $6$、城鎮 $8$、城鎮 $12$ 係危險城鎮。

跟住下面嘅次序喺城鎮之間移動,可以令總住宿費最細:

  • 由城鎮 $1$ 去城鎮 $2$。喺城鎮 $2$ 住住宿費係 $1000$ 日圓嘅平價旅館。
  • 由城鎮 $2$ 去城鎮 $5$。喺城鎮 $5$ 住住宿費係 $1000$ 日圓嘅平價旅館。
  • 由城鎮 $5$ 去城鎮 $9$。喺城鎮 $9$ 住住宿費係 $1000$ 日圓嘅平價旅館。
  • 由城鎮 $9$ 去城鎮 $10$。喺城鎮 $10$ 住住宿費係 $1000$ 日圓嘅平價旅館。
  • 由城鎮 $10$ 去城鎮 $11$。喺城鎮 $11$ 住住宿費係 $1000$ 日圓嘅平價旅館。
  • 由城鎮 $11$ 去城鎮 $12$。喺城鎮 $12$ 住住宿費係 $6000$ 日圓嘅高級旅館。
  • 由城鎮 $12$ 去城鎮 $13$。喺城鎮 $13$ 唔住宿。

當 JOI 君跟呢條路線移動嗰陣,總住宿費係 $11000$ 日圓,所以輸出 $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

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.