QOJ.ac

QOJ

Límite de tiempo: 10 s Límite de memoria: 256 MB Puntuación total: 100

#23849. Pulau Zombi

Estadísticas

Pulau tempat tinggal JOI-kun telah diserbu oleh zombi. JOI-kun memutuskan untuk melarikan diri ke tempat perlindungan yang ditetapkan sebagai lokasi evakuasi paling aman di pulau tersebut.

Pulau tempat tinggal JOI-kun terdiri dari $N$ kota yang diberi nomor dari Kota $1$ hingga Kota $N$, dan antarkota dihubungkan oleh jalan. Terdapat $M$ jalan di pulau tersebut, dan setiap jalan menghubungkan $2$ kota yang berbeda. JOI-kun dapat bergerak bebas dua arah melalui jalan tersebut, tetapi tidak dapat berpindah dari satu kota ke kota lain selain melalui jalan.

Beberapa kota dikuasai oleh zombi dan tidak dapat dikunjungi. Kota yang dapat dicapai dari kota yang dikuasai zombi dengan menggunakan paling banyak $S$ jalan disebut kota berbahaya. Kota-kota lainnya disebut kota tidak berbahaya.

Rumah JOI-kun berada di Kota $1$, dan tempat perlindungan evakuasi berada di Kota $N$. Kota $1$ dan Kota $N$ tidak dikuasai oleh zombi. Karena perjalanan melalui jalan di pulau memakan waktu, setiap kali JOI-kun berpindah kota, ia harus menginap semalam di kota tujuan. Ketika JOI-kun menginap di kota tidak berbahaya, ia menginap di penginapan murah dengan biaya $P$ yen, sedangkan ketika menginap di kota berbahaya, ia menginap di penginapan mewah dengan layanan keamanan unggul dengan biaya $Q$ yen. JOI-kun ingin melakukan perjalanan sedemikian rupa sehingga biaya penginapannya semurah mungkin untuk mengungsi ke Kota $N$. Ia tidak perlu menginap di Kota $1$ maupun Kota $N$.

Carilah nilai minimum dari total biaya penginapan yang diperlukan ketika JOI-kun melakukan perjalanan dari Kota $1$ ke Kota $N$.

Format Masukan

Masukan terdiri dari $2 + K + M$ baris.

Baris ke-$1$ berisi $4$ bilangan bulat yang dipisahkan spasi $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$). Ini menyatakan bahwa pulau terdiri dari $N$ kota dan $M$ jalan, $K$ dari $N$ kota dikuasai oleh zombi, dan kota yang dapat dicapai dari kota yang dikuasai zombi menggunakan paling banyak $S$ jalan disebut kota berbahaya.

Baris ke-$2$ berisi $2$ bilangan bulat yang dipisahkan spasi $P, Q$ ($1 \le P < Q \le 100000$). Ini menyatakan bahwa JOI-kun menginap di penginapan seharga $P$ yen di kota tidak berbahaya dan di penginapan seharga $Q$ yen di kota berbahaya.

Baris ke-$i$ ($1 \le i \le K$) dari $K$ baris berikutnya berisi sebuah bilangan bulat $C_i$ ($2 \le C_i \le N - 1$). Ini menyatakan bahwa Kota $C_i$ dikuasai oleh zombi. $C_1, \dots, C_K$ semuanya berbeda.

Baris ke-$j$ ($1 \le j \le M$) dari $M$ baris berikutnya berisi $2$ bilangan bulat yang dipisahkan spasi $A_j, B_j$ ($1 \le A_j < B_j \le N$). Ini menyatakan bahwa terdapat jalan antara Kota $A_j$ dan Kota $B_j$. Pasangan $(A_j, B_j)$ yang sama tidak muncul $2$ kali atau lebih.

Pada data masukan yang diberikan, dijamin bahwa perjalanan dari Kota $1$ ke Kota $N$ dapat dilakukan dengan hanya melewati kota-kota yang tidak dikuasai oleh zombi.

Format Keluaran

Keluarkan dalam $1$ baris nilai minimum dari total biaya penginapan yang diperlukan ketika JOI-kun melakukan perjalanan dari Kota $1$ ke Kota $N$.

Perhatikan bahwa hasil keluaran mungkin tidak muat dalam rentang bilangan bulat bertanda $32$-bit.

Contoh

Masukan 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

Keluaran 1

11000

Catatan 1

Contoh $1$ sesuai dengan gambar di bawah ini. Lingkaran melambangkan kota dan garis melambangkan jalan.

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

Dalam kasus ini, Kota $3$, Kota $4$, Kota $6$, Kota $8$, dan Kota $12$ adalah kota berbahaya.

Dengan berpindah kota sesuai urutan berikut, total biaya penginapan dapat diminimalkan:

  • Pergi dari Kota $1$ ke Kota $2$. Menginap di penginapan murah seharga $1000$ yen di Kota $2$.
  • Pergi dari Kota $2$ ke Kota $5$. Menginap di penginapan murah seharga $1000$ yen di Kota $5$.
  • Pergi dari Kota $5$ ke Kota $9$. Menginap di penginapan murah seharga $1000$ yen di Kota $9$.
  • Pergi dari Kota $9$ ke Kota $10$. Menginap di penginapan murah seharga $1000$ yen di Kota $10$.
  • Pergi dari Kota $10$ ke Kota $11$. Menginap di penginapan murah seharga $1000$ yen di Kota $11$.
  • Pergi dari Kota $11$ ke Kota $12$. Menginap di penginapan mewah seharga $6000$ yen di Kota $12$.
  • Pergi dari Kota $12$ ke Kota $13$. Tidak menginap di Kota $13$.

Ketika JOI-kun bergerak melalui rute ini, total biaya penginapan adalah $11000$ yen, sehingga keluarkan $11000$.

Masukan 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

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