QOJ.ac

QOJ

時間限制: 10 s 記憶體限制: 256 MB 總分: 100

#23849. Zombie-Insel

统计

Die Insel, auf der JOI-kun lebt, wurde von Zombies überfallen. JOI-kun hat beschlossen, in den Schutzbunker zu fliehen, der als sicherster Evakuierungsort auf der Insel festgelegt ist.

Die Insel, auf der JOI-kun lebt, besteht aus $N$ Städten, die von Stadt $1$ bis Stadt $N$ nummeriert sind, und die Städte sind durch Straßen verbunden. Es gibt $M$ Straßen auf der Insel, und jede Straße verbindet $2$ verschiedene Städte. JOI-kun kann sich auf den Straßen frei in beide Richtungen bewegen, kann aber nicht abseits der Straßen von einer Stadt in eine andere gelangen.

Einige Städte werden von Zombies kontrolliert und können nicht betreten werden. Eine Stadt, die von einer von Zombies kontrollierten Stadt aus über höchstens $S$ Straßen erreicht werden kann, wird als gefährliche Stadt bezeichnet. Alle anderen Städte werden als ungefährliche Städte bezeichnet.

JOI-kuns Haus befindet sich in Stadt $1$, und der Evakuierungsbunker befindet sich in Stadt $N$. Stadt $1$ und Stadt $N$ werden nicht von Zombies kontrolliert. Da das Reisen auf den Straßen der Insel viel Zeit in Anspruch nimmt, muss JOI-kun jedes Mal, wenn er in eine Stadt zieht, in der Zielstadt übernachten. Wenn JOI-kun in einer ungefährlichen Stadt übernachtet, übernachtet er in einem billigen Gasthaus, dessen Übernachtungsgebühr $P$ Yen beträgt; wenn er hingegen in einer gefährlichen Stadt übernachtet, übernachtet er in einem Luxusgasthaus mit ausgezeichnetem Sicherheitsdienst, dessen Übernachtungsgebühr $Q$ Yen beträgt. JOI-kun möchte so reisen, dass seine Übernachtungskosten so gering wie möglich sind, und nach Stadt $N$ evakuieren. In Stadt $1$ und Stadt $N$ muss er nicht übernachten.

Bestimme den minimal möglichen Gesamtwert der Übernachtungsgebühren, die erforderlich sind, wenn JOI-kun von Stadt $1$ nach Stadt $N$ reist.

Eingabe

Die Eingabe besteht aus $2 + K + M$ Zeilen.

Die $1$-te Zeile enthält $4$ durch Leerzeichen getrennte ganze Zahlen $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$). Dies bedeutet, dass die Insel aus $N$ Städten und $M$ Straßen besteht, $K$ der $N$ Städte von Zombies kontrolliert werden und Städte, die von einer von Zombies kontrollierten Stadt aus über höchstens $S$ Straßen erreichbar sind, als gefährliche Städte bezeichnet werden.

Die $2$-te Zeile enthält $2$ durch Leerzeichen getrennte ganze Zahlen $P, Q$ ($1 \le P < Q \le 100000$). Dies bedeutet, dass JOI-kun in einer ungefährlichen Stadt in einem Gasthaus für $P$ Yen und in einer gefährlichen Stadt in einem Gasthaus für $Q$ Yen übernachtet.

Die $i$-te Zeile ($1 \le i \le K$) der folgenden $K$ Zeilen enthält eine ganze Zahl $C_i$ ($2 \le C_i \le N - 1$). Dies bedeutet, dass Stadt $C_i$ von Zombies kontrolliert wird. $C_1, \dots, C_K$ sind alle paarweise verschieden.

Die $j$-te Zeile ($1 \le j \le M$) der folgenden $M$ Zeilen enthält $2$ durch Leerzeichen getrennte ganze Zahlen $A_j, B_j$ ($1 \le A_j < B_j \le N$). Dies bedeutet, dass zwischen Stadt $A_j$ und Stadt $B_j$ eine Straße existiert. Dasselbe Paar $(A_j, B_j)$ kommt nicht $2$-mal oder öfter vor.

In den gegebenen Eingabedaten ist garantiert, dass es möglich ist, von Stadt $1$ nach Stadt $N$ zu reisen und dabei nur Städte zu passieren, die nicht von Zombies kontrolliert werden.

Ausgabe

Gib in $1$ Zeile den minimal möglichen Gesamtwert der Übernachtungsgebühren aus, die erforderlich sind, wenn JOI-kun von Stadt $1$ nach Stadt $N$ reist.

Beachte, dass die Ausgabe möglicherweise nicht in den Bereich einer vorzeichenbehafteten $32$-Bit-Ganzzahl passt.

Beispiele

Eingabe 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

Ausgabe 1

11000

Hinweis 1

Beispiel $1$ entspricht der folgenden Abbildung. Kreise stellen Städte und Linien stellen Straßen dar.

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

In diesem Fall sind Stadt $3$, Stadt $4$, Stadt $6$, Stadt $8$ und Stadt $12$ gefährliche Städte.

Wenn man sich in der folgenden Reihenfolge durch die Städte bewegt, können die gesamten Übernachtungsgebühren minimiert werden:

  • Gehe von Stadt $1$ nach Stadt $2$. Übernachte in Stadt $2$ in einem billigen Gasthaus für $1000$ Yen.
  • Gehe von Stadt $2$ nach Stadt $5$. Übernachte in Stadt $5$ in einem billigen Gasthaus für $1000$ Yen.
  • Gehe von Stadt $5$ nach Stadt $9$. Übernachte in Stadt $9$ in einem billigen Gasthaus für $1000$ Yen.
  • Gehe von Stadt $9$ nach Stadt $10$. Übernachte in Stadt $10$ in einem billigen Gasthaus für $1000$ Yen.
  • Gehe von Stadt $10$ nach Stadt $11$. Übernachte in Stadt $11$ in einem billigen Gasthaus für $1000$ Yen.
  • Gehe von Stadt $11$ nach Stadt $12$. Übernachte in Stadt $12$ in einem Luxusgasthaus für $6000$ Yen.
  • Gehe von Stadt $12$ nach Stadt $13$. Übernachte nicht in Stadt $13$.

Wenn JOI-kun auf dieser Route reist, betragen die gesamten Übernachtungsgebühren $11000$ Yen, also wird $11000$ ausgegeben.

Eingabe 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

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