QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 256 MB Points totaux : 100

#23849. L'île des zombies

Statistiques

L'île où vit JOI-kun a été envahie par des zombies. JOI-kun a décidé de s'enfuir vers l'abri désigné comme le lieu d'évacuation le plus sûr de l'île.

L'île où vit JOI-kun est composée de $N$ villes numérotées de la Ville $1$ à la Ville $N$, et les villes sont reliées entre elles par des routes. Il y a $M$ routes sur l'île, et chaque route relie $2$ villes différentes. JOI-kun peut se déplacer librement dans les deux sens sur les routes, mais il ne peut pas aller d'une ville à une autre autrement que par les routes.

Certaines villes sont contrôlées par des zombies et ne peuvent pas être visitées. Une ville accessible depuis une ville contrôlée par des zombies en empruntant au plus $S$ routes est appelée une ville dangereuse. Toute autre ville est appelée une ville non dangereuse.

La maison de JOI-kun se trouve dans la Ville $1$, et l'abri d'évacuation se trouve dans la Ville $N$. La Ville $1$ et la Ville $N$ ne sont pas contrôlées par des zombies. Comme il faut beaucoup de temps pour se déplacer sur les routes de l'île, chaque fois que JOI-kun se déplace vers une ville, il doit passer une nuit dans la ville de destination. Lorsque JOI-kun passe la nuit dans une ville non dangereuse, il loge dans une auberge bon marché dont les frais d'hébergement sont de $P$ yens, tandis que lorsqu'il passe la nuit dans une ville dangereuse, il loge dans une auberge de luxe dotée d'un excellent service de sécurité dont les frais d'hébergement sont de $Q$ yens. JOI-kun souhaite se déplacer de manière à réduire au minimum ses frais d'hébergement pour évacuer vers la Ville $N$. Il n'a pas besoin de passer la nuit dans la Ville $1$ ni dans la Ville $N$.

Trouvez la valeur minimale du total des frais d'hébergement nécessaires lorsque JOI-kun se déplace de la Ville $1$ à la Ville $N$.

Entrée

L'entrée se compose de $2 + K + M$ lignes.

La $1$-re ligne contient $4$ entiers séparés par des espaces $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$). Cela indique que l'île se compose de $N$ villes et de $M$ routes, que $K$ des $N$ villes sont contrôlées par des zombies, et que les villes accessibles depuis une ville contrôlée par des zombies en utilisant au plus $S$ routes sont appelées villes dangereuses.

La $2$-e ligne contient $2$ entiers séparés par des espaces $P, Q$ ($1 \le P < Q \le 100000$). Cela indique que JOI-kun loge dans une auberge coûtant $P$ yens dans une ville non dangereuse et dans une auberge coûtant $Q$ yens dans une ville dangereuse.

La $i$-e ligne ($1 \le i \le K$) des $K$ lignes suivantes contient un entier $C_i$ ($2 \le C_i \le N - 1$). Cela indique que la Ville $C_i$ est contrôlée par des zombies. $C_1, \dots, C_K$ sont tous distincts.

La $j$-e ligne ($1 \le j \le M$) des $M$ lignes suivantes contient $2$ entiers séparés par des espaces $A_j, B_j$ ($1 \le A_j < B_j \le N$). Cela indique qu'il existe une route entre la Ville $A_j$ et la Ville $B_j$. La même paire $(A_j, B_j)$ n'apparaît pas $2$ fois ou plus.

Dans les données d'entrée fournies, il est garanti qu'il est possible de se déplacer de la Ville $1$ à la Ville $N$ en ne passant que par des villes non contrôlées par des zombies.

Sortie

Affichez sur $1$ ligne la valeur minimale du total des frais d'hébergement nécessaires lorsque JOI-kun se déplace de la Ville $1$ à la Ville $N$.

Notez que le résultat peut dépasser la capacité d'un entier signé de $32$ bits.

Exemples

Entrée 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

Sortie 1

11000

Note 1

L'exemple $1$ correspond à la figure ci-dessous. Les cercles représentent les villes et les lignes représentent les routes.

problem_23849_bac2d8f5a931b2ef74845a3e75798198.png

Dans ce cas, la Ville $3$, la Ville $4$, la Ville $6$, la Ville $8$ et la Ville $12$ sont des villes dangereuses.

En se déplaçant de ville en ville dans l'ordre suivant, le total des frais d'hébergement peut être minimisé :

  • Aller de la Ville $1$ à la Ville $2$. Loger dans une auberge bon marché coûtant $1000$ yens dans la Ville $2$.
  • Aller de la Ville $2$ à la Ville $5$. Loger dans une auberge bon marché coûtant $1000$ yens dans la Ville $5$.
  • Aller de la Ville $5$ à la Ville $9$. Loger dans une auberge bon marché coûtant $1000$ yens dans la Ville $9$.
  • Aller de la Ville $9$ à la Ville $10$. Loger dans une auberge bon marché coûtant $1000$ yens dans la Ville $10$.
  • Aller de la Ville $10$ à la Ville $11$. Loger dans une auberge bon marché coûtant $1000$ yens dans la Ville $11$.
  • Aller de la Ville $11$ à la Ville $12$. Loger dans une auberge de luxe coûtant $6000$ yens dans la Ville $12$.
  • Aller de la Ville $12$ à la Ville $13$. Ne pas passer la nuit dans la Ville $13$.

Lorsque JOI-kun emprunte cet itinéraire, le total des frais d'hébergement est de $11000$ yens, on affiche donc $11000$.

Entrée 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

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