QOJ.ac

QOJ

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

#23849. Острів зомбі

İstatistikler

Острів, на якому живе JOI-кун, зазнав вторгнення зомбі. JOI-кун вирішив утекти до сховища, визначеного як найбезпечніше місце евакуації на острові.

Острів, на якому живе JOI-кун, складається з $N$ міст, пронумерованих від Міста $1$ до Міста $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$ доріг, $K$ із $N$ міст захоплені зомбі, а міста, досяжні із захоплених зомбі міст не більше ніж по $S$ дорогах, називаються небезпечними містами.

У $2$-му рядку записано через пробіл $2$ цілі числа $P, Q$ ($1 \le P < Q \le 100000$). Це означає, що в ненебезпечному місті JOI-кун зупиняється в готелі вартістю $P$ єн, а в небезпечному місті — у готелі вартістю $Q$ єн.

В $i$-му рядку ($1 \le i \le K$) із наступних $K$ рядків записано ціле число $C_i$ ($2 \le C_i \le N - 1$). Це означає, що Місто $C_i$ захоплене зомбі. Усі $C_1, \dots, C_K$ різні.

У $j$-му рядку ($1 \le j \le M$) із наступних $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$ не ночувати.

За такого маршруту загальна вартість проживання становитиме $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.