QOJ.ac

QOJ

実行時間制限: 4.0 s メモリ制限: 512 MB 満点: 100

#17603. ABRI

統計

Dans une pièce sombre, vers 23h55, Milan est assis à une table à trois pieds et commence à réfléchir aux conséquences éventuelles qu'une catastrophe nucléaire pourrait provoquer dans sa ville. En tant que maire, Milan est très bien informé de tous les faits pertinents.

Il sait que sa ville compte exactement $N$ habitants et que chaque habitant vit dans sa propre maison. Il existe des routes entre exactement $M$ paires de maisons, et pour chaque route, le temps nécessaire pour la parcourir est connu. Enfin, Milan sait dans quelles $K$ maisons se trouvent des abris antiatomiques et combien de personnes chaque abri peut accueillir. Ayant tout cela à l'esprit, la question suivante tourmente Milan : « Quel est le temps minimal nécessaire pour évacuer tous les habitants de cette ville ? » Aidez Milan à répondre à cette question.

Bien entendu, l'évacuation implique que chaque habitant finisse dans un abri antiatomique. Vous pouvez supposer que les habitants se déplacent de manière optimale (par le chemin le plus court) et que plusieurs personnes peuvent se déplacer simultanément le long d'une même route, potentiellement dans des directions différentes. Vous pouvez également supposer qu'il existe au moins un chemin entre deux maisons quelconques en utilisant un sous-ensemble des routes données.

Entrée

La première ligne contient les entiers naturels $N$ ($1 \le N \le 100\,000$), $M$ ($1 \le M \le 300\,000$) et $K$ ($1 \le K \le 17$), qui représentent le nombre d'habitants, le nombre de routes et le nombre d'abris antiatomiques. Les maisons sont numérotées de $1$ à $N$.

Dans chacune des $M$ lignes suivantes, il y a trois entiers naturels $A$, $B$ ($1 \le A, B \le N, A \neq B$) et $C$ ($1 \le C \le 10^9$) indiquant qu'il existe une route entre les maisons $A$ et $B$ dont le parcours nécessite $C$ unités de temps.

Dans chacune des $K$ lignes suivantes, il y a deux entiers naturels $X$ ($1 \le X \le N$) et $Y$ ($1 \le Y \le 10^9$) indiquant qu'il y a un abri antiatomique dans la maison $X$ pouvant accueillir au plus $Y$ personnes. La capacité totale de tous les abris sera supérieure ou égale à $N$.

Sortie

Sur une seule ligne, affichez le temps minimal nécessaire pour évacuer tous les habitants de cette ville.

Bodovanje

Sous-tâche Nombre de points Contraintes supplémentaires
1 30 $N \le 100, M \le 500, K \le 5$
2 30 $K \le 10$
3 40 Aucune contrainte supplémentaire

Exemples

Entrée 1

5 5 2 
1 2 1 
1 3 3 
2 3 4 
3 4 1 
4 5 1 
1 10 
4 2

Sortie 1

3

Remarque

En 3 unités de temps, les personnes des maisons 1, 2 et 3 peuvent se rendre à l'abri de la maison 1, et les personnes des maisons 4 et 5 à l'abri de la maison 4. En moins de temps, toutes les personnes ne peuvent pas atteindre les abris car l'abri de la maison 4 ne peut accueillir que deux personnes au maximum.

Entrée 2

7 8 3 
1 2 5 
2 3 3 
3 4 5 
1 4 1 
4 5 7 
5 6 2 
6 7 1 
4 7 4 
3 3 
7 3 
6 2

Sortie 2

5

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.