QOJ.ac

QOJ

Süre Sınırı: 10 s Bellek Sınırı: 256 MB Toplam puan: 100

#23849. Zombieön

İstatistikler

Ön där JOI-kun bor har invaderats av zombier. JOI-kun har bestämt sig för att fly till det skyddsrum som har utsetts till den säkraste evakueringsplatsen på ön.

Ön där JOI-kun bor består av $N$ städer numrerade från Stad $1$ till Stad $N$, och städerna är förbundna med vägar. Det finns $M$ vägar på ön, och varje väg förbinder $2$ olika städer. JOI-kun kan röra sig fritt i båda riktningarna längs vägarna, men kan inte ta sig från en stad till en annan annat än via vägar.

Några städer kontrolleras av zombier och kan inte besökas. En stad som kan nås från en zombiekontrollerad stad med hjälp av högst $S$ vägar kallas en farlig stad. Alla andra städer kallas ofarliga städer.

JOI-kuns hus ligger i Stad $1$, och evakueringsskyddsrummet ligger i Stad $N$. Stad $1$ och Stad $N$ kontrolleras inte av zombier. Eftersom det tar lång tid att färdas på öns vägar måste JOI-kun övernatta i destinationsstaden varje gång han förflyttar sig till en stad. När JOI-kun övernattar i en ofarlig stad bor han på ett billigt värdshus där logikostnaden är $P$ yen, medan han vid övernattning i en farlig stad bor på ett lyxvärdshus med utmärkt säkerhetsservice där logikostnaden är $Q$ yen. JOI-kun vill resa så att hans logikostnad blir så låg som möjligt och evakuera till Stad $N$. Han behöver inte övernatta i Stad $1$ eller Stad $N$.

Hitta det minsta möjliga totala beloppet för logikostnader som krävs när JOI-kun reser från Stad $1$ till Stad $N$.

Indata

Indata består av $2 + K + M$ rader.

Den $1$-sta raden innehåller $4$ mellanslagsseparerade heltal $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$). Detta anger att ön består av $N$ städer och $M$ vägar, att $K$ av de $N$ städerna kontrolleras av zombier, och att städer som kan nås från en zombiekontrollerad stad med högst $S$ vägar kallas farliga städer.

Den $2$-ndra raden innehåller $2$ mellanslagsseparerade heltal $P, Q$ ($1 \le P < Q \le 100000$). Detta anger att JOI-kun bor på ett värdshus som kostar $P$ yen i en ofarlig stad och på ett värdshus som kostar $Q$ yen i en farlig stad.

Den $i$-te raden ($1 \le i \le K$) av de följande $K$ raderna innehåller ett heltal $C_i$ ($2 \le C_i \le N - 1$). Detta anger att Stad $C_i$ kontrolleras av zombier. $C_1, \dots, C_K$ är alla olika.

Den $j$-te raden ($1 \le j \le M$) av de följande $M$ raderna innehåller $2$ mellanslagsseparerade heltal $A_j, B_j$ ($1 \le A_j < B_j \le N$). Detta anger att det finns en väg mellan Stad $A_j$ och Stad $B_j$. Samma par $(A_j, B_j)$ förekommer inte $2$ eller fler gånger.

I givna indata garanteras det att det går att resa från Stad $1$ till Stad $N$ genom att endast passera städer som inte kontrolleras av zombier.

Utdata

Skriv ut på $1$ rad det minsta möjliga totala beloppet för logikostnader som krävs när JOI-kun reser från Stad $1$ till Stad $N$.

Observera att svaret kanske inte ryms inom intervallet för ett $32$-bitars heltal med tecken.

Exempel

Indata 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

Utdata 1

11000

Förklaring 1

Exempel $1$ motsvarar figuren nedan. Cirklar representerar städer och linjer representerar vägar.

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

I detta fall är Stad $3$, Stad $4$, Stad $6$, Stad $8$ och Stad $12$ farliga städer.

Genom att förflytta sig mellan städerna i följande ordning kan den totala logikostnaden minimeras:

  • Gå från Stad $1$ till Stad $2$. Övernatta på ett billigt värdshus för $1000$ yen i Stad $2$.
  • Gå från Stad $2$ till Stad $5$. Övernatta på ett billigt värdshus för $1000$ yen i Stad $5$.
  • Gå från Stad $5$ till Stad $9$. Övernatta på ett billigt värdshus för $1000$ yen i Stad $9$.
  • Gå från Stad $9$ till Stad $10$. Övernatta på ett billigt värdshus för $1000$ yen i Stad $10$.
  • Gå från Stad $10$ till Stad $11$. Övernatta på ett billigt värdshus för $1000$ yen i Stad $11$.
  • Gå från Stad $11$ till Stad $12$. Övernatta på ett lyxvärdshus för $6000$ yen i Stad $12$.
  • Gå från Stad $12$ till Stad $13$. Övernatta inte i Stad $13$.

När JOI-kun reser längs denna rutt blir den totala logikostnaden $11000$ yen, så skriv ut $11000$.

Indata 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

Utdata 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.