QOJ.ac

QOJ

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

#23849. Isla Zombi

统计

La isla donde vive JOI-kun ha sido invadida por zombis. JOI-kun ha decidido huir al refugio designado como el lugar de evacuación más seguro de la isla.

La isla donde vive JOI-kun consta de $N$ pueblos numerados desde el Pueblo $1$ hasta el Pueblo $N$, y los pueblos están conectados por carreteras. Hay $M$ carreteras en la isla, y cada carretera conecta $2$ pueblos diferentes. JOI-kun puede moverse libremente en ambas direcciones por las carreteras, pero no puede ir de un pueblo a otro salvo a través de las carreteras.

Varios pueblos están controlados por zombis y no pueden ser visitados. Un pueblo al que se puede llegar desde un pueblo controlado por zombis utilizando $S$ carreteras o menos se llama pueblo peligroso. Cualquier otro pueblo se llama pueblo no peligroso.

La casa de JOI-kun está en el Pueblo $1$, y el refugio de evacuación está en el Pueblo $N$. El Pueblo $1$ y el Pueblo $N$ no están controlados por zombis. Dado que lleva mucho tiempo viajar por las carreteras de la isla, cada vez que JOI-kun se traslada a un pueblo, debe pasar una noche en el pueblo de destino. Cuando JOI-kun pasa la noche en un pueblo no peligroso, se aloja en una posada barata cuya tarifa de alojamiento es de $P$ yenes, mientras que cuando pasa la noche en un pueblo peligroso, se aloja en una posada de lujo con excelente servicio de seguridad cuya tarifa de alojamiento es de $Q$ yenes. JOI-kun quiere viajar de modo que su costo de alojamiento sea lo más barato posible y evacuar al Pueblo $N$. No necesita pasar la noche en el Pueblo $1$ ni en el Pueblo $N$.

Halla el valor mínimo del total de tarifas de alojamiento necesario cuando JOI-kun viaja desde el Pueblo $1$ hasta el Pueblo $N$.

Entrada

La entrada consta de $2 + K + M$ líneas.

La $1$-ra línea contiene $4$ enteros separados por espacios $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$). Esto indica que la isla consta de $N$ pueblos y $M$ carreteras, $K$ de los $N$ pueblos están controlados por zombis, y los pueblos alcanzables desde un pueblo controlado por zombis usando $S$ carreteras o menos se llaman pueblos peligrosos.

La $2$-da línea contiene $2$ enteros separados por espacios $P, Q$ ($1 \le P < Q \le 100000$). Esto indica que JOI-kun se aloja en una posada que cuesta $P$ yenes en un pueblo no peligroso y en una posada que cuesta $Q$ yenes en un pueblo peligroso.

La $i$-ésima línea ($1 \le i \le K$) de las siguientes $K$ líneas contiene un entero $C_i$ ($2 \le C_i \le N - 1$). Esto indica que el Pueblo $C_i$ está controlado por zombis. $C_1, \dots, C_K$ son todos distintos.

La $j$-ésima línea ($1 \le j \le M$) de las siguientes $M$ líneas contiene $2$ enteros separados por espacios $A_j, B_j$ ($1 \le A_j < B_j \le N$). Esto indica que existe una carretera entre el Pueblo $A_j$ y el Pueblo $B_j$. El mismo par $(A_j, B_j)$ no aparece $2$ o más veces.

En los datos de entrada proporcionados, se garantiza que es posible viajar desde el Pueblo $1$ hasta el Pueblo $N$ pasando únicamente por pueblos no controlados por zombis.

Salida

Imprime en $1$ línea el valor mínimo del total de tarifas de alojamiento necesario cuando JOI-kun viaja desde el Pueblo $1$ hasta el Pueblo $N$.

Ten en cuenta que es posible que la salida no quepa en el rango de un entero con signo de $32$ bits.

Ejemplos

Entrada 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

Salida 1

11000

Nota 1

El Ejemplo $1$ corresponde a la siguiente figura. Los círculos representan pueblos y las líneas representan carreteras.

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

En este caso, el Pueblo $3$, el Pueblo $4$, el Pueblo $6$, el Pueblo $8$ y el Pueblo $12$ son pueblos peligrosos.

Al moverse por los pueblos en el siguiente orden, se puede minimizar la tarifa total de alojamiento:

  • Ir del Pueblo $1$ al Pueblo $2$. Alojarse en una posada barata que cuesta $1000$ yenes en el Pueblo $2$.
  • Ir del Pueblo $2$ al Pueblo $5$. Alojarse en una posada barata que cuesta $1000$ yenes en el Pueblo $5$.
  • Ir del Pueblo $5$ al Pueblo $9$. Alojarse en una posada barata que cuesta $1000$ yenes en el Pueblo $9$.
  • Ir del Pueblo $9$ al Pueblo $10$. Alojarse en una posada barata que cuesta $1000$ yenes en el Pueblo $10$.
  • Ir del Pueblo $10$ al Pueblo $11$. Alojarse en una posada barata que cuesta $1000$ yenes en el Pueblo $11$.
  • Ir del Pueblo $11$ al Pueblo $12$. Alojarse en una posada de lujo que cuesta $6000$ yenes en el Pueblo $12$.
  • Ir del Pueblo $12$ al Pueblo $13$. No pasar la noche en el Pueblo $13$.

Cuando JOI-kun viaja por esta ruta, la tarifa total de alojamiento es de $11000$ yenes, por lo que se imprime $11000$.

Entrada 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

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