QOJ.ac

QOJ

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

#23837. Taxis

İstatistikler

Le pays d'IOI est composé 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 $K$ routes dans le pays d'IOI, et chaque route relie $2$ villes distinctes. Les voitures peuvent circuler librement dans les deux sens sur les routes, mais il est impossible d'aller d'une ville à une autre autrement que par les routes.

JOI-kun, qui habite dans la ville $1$ du pays d'IOI, a décidé de se rendre en taxi chez sa grand-mère qui habite dans la ville $N$. Dans le pays d'IOI, il existe $N$ compagnies de taxi, de la compagnie de taxi $1$ à la compagnie de taxi $N$. Les compagnies de taxi du pays d'IOI suivent des règles un peu particulières :

  • On ne peut monter dans un taxi de la compagnie de taxi $i$ que dans la ville $i$.
  • Le tarif d'un taxi de la compagnie de taxi $i$ est $C_i$, quelle que soit la distance parcourue.
  • Un taxi de la compagnie de taxi $i$ ne peut emprunter au maximum que $R_i$ routes consécutives après qu'on y est monté.

Par exemple, si $R_1 = 2$, lorsqu'on monte dans un taxi de la compagnie $1$ depuis la ville $1$, on ne peut emprunter au plus que $2$ routes ; ainsi, pour emprunter $3$ routes ou plus, il est nécessaire de changer de taxi dans une ville intermédiaire.

JOI-kun ne peut ni monter dans un taxi ni en descendre ailleurs que dans une ville. De plus, il ne peut utiliser aucun autre moyen de transport que le taxi. Écrivez un programme pour déterminer le tarif total minimal nécessaire à JOI-kun pour atteindre la ville $N$.

Entrée

L'entrée se compose de $1 + N + K$ lignes.

La $1$-re ligne contient $2$ entiers $N, K$ ($2 \le N \le 5000$, $N - 1 \le K \le 10000$) séparés par un espace. Cela indique que le pays d'IOI est composé de $N$ villes et que le nombre de routes dans le pays d'IOI est $K$.

La $i$-ème ligne ($1 \le i \le N$) des $N$ lignes suivantes contient $2$ entiers $C_i, R_i$ ($1 \le C_i \le 10000$, $1 \le R_i \le N$) séparés par un espace. Cela indique que le tarif d'un taxi de la compagnie $i$ est $C_i$ et qu'il ne peut emprunter au maximum que $R_i$ routes consécutives après qu'on y est monté.

La $j$-ème ligne ($1 \le j \le K$) des $K$ lignes suivantes contient $2$ entiers distincts $A_j, B_j$ ($1 \le A_j < B_j \le N$) séparés par un espace. Cela indique qu'il existe une route entre la ville $A_j$ et la ville $B_j$. Un même couple $(A_j, B_j)$ n'apparaît jamais $2$ fois ou plus.

Dans les données d'entrée fournies, il est garanti qu'il est possible d'aller de n'importe quelle ville à n'importe quelle autre ville en prenant des correspondances de taxis.

Sortie

Affichez sur $1$ ligne un entier représentant le tarif total minimal nécessaire à JOI-kun pour aller de la ville $1$ à la ville $N$.

Exemples

Entrée 1

6 6
400 2
200 1
600 3
1000 1
300 5
700 4
1 2
2 3
3 6
4 6
1 5
2 4

Sortie 1

700

Remarque

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

problem_23837_b3dd4c3dc8bcd7ab77787ca591951f69.png

Dans cet exemple, pour que JOI-kun atteigne la ville $6$ avec un tarif minimal, il procède comme suit :

  • Prendre un taxi dans la ville $1$ et aller jusqu'à la ville $5$. (Tarif $400$)
  • Prendre un taxi dans la ville $5$ et aller jusqu'à la ville $6$. (Tarif $300$)

Comme le tarif total lorsque JOI-kun emprunte cet itinéraire est $400 + 300 = 700$, on affiche $700$.

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.