QOJ.ac

QOJ

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

#23837. Taxi

统计

Il paese di IOI è costituito da $N$ cittadine, numerate dalla cittadina $1$ alla cittadina $N$, collegate tra loro da strade. Nel paese di IOI ci sono $K$ strade e ogni strada collega $2$ cittadine diverse. Le automobili possono muoversi liberamente in entrambe le direzioni lungo le strade, ma non è possibile andare da una cittadina a un'altra senza passare per le strade.

JOI-kun, che vive nella cittadina $1$ del paese di IOI, ha deciso di andare in taxi a casa di sua nonna, che vive nella cittadina $N$. Nel paese di IOI ci sono $N$ compagnie di taxi, dalla compagnia di taxi $1$ alla compagnia di taxi $N$. Le compagnie di taxi nel paese di IOI seguono queste regole un po' particolari:

  • Sui taxi della compagnia di taxi $i$ è possibile salire solo nella cittadina $i$.
  • La tariffa di un taxi della compagnia di taxi $i$ è $C_i$, indipendentemente dalla distanza percorsa.
  • Un taxi della compagnia di taxi $i$, una volta saliti a bordo, può percorrere consecutivamente al massimo $R_i$ strade.

Ad esempio, nel caso $R_1 = 2$, salendo su un taxi della compagnia $1$ dalla cittadina $1$ si possono percorrere al massimo $2$ strade; pertanto, per percorrere $3$ o più strade è necessario cambiare taxi in una cittadina intermedia.

JOI-kun non può salire o scendere da un taxi in un punto diverso da una cittadina. Inoltre, non può utilizzare alcun mezzo di trasporto diverso dal taxi. Scrivi un programma per trovare il valore minimo della tariffa totale necessaria affinché JOI-kun raggiunga la cittadina $N$.

Input

L'input è composto da $1 + N + K$ righe.

La $1$-a riga contiene $2$ interi separati da uno spazio $N, K$ ($2 \le N \le 5000$, $N - 1 \le K \le 10000$). Ciò indica che il paese di IOI è composto da $N$ cittadine e che il numero di strade nel paese di IOI è $K$.

La $i$-esima riga ($1 \le i \le N$) delle successive $N$ righe contiene $2$ interi separati da uno spazio $C_i, R_i$ ($1 \le C_i \le 10000$, $1 \le R_i \le N$). Ciò indica che la tariffa di un taxi della compagnia $i$ è $C_i$ e che, dopo essere saliti, esso può percorrere consecutivamente al massimo $R_i$ strade.

La $j$-esima riga ($1 \le j \le K$) delle successive $K$ righe contiene $2$ interi distinti separati da uno spazio $A_j, B_j$ ($1 \le A_j < B_j \le N$). Ciò indica che esiste una strada tra la cittadina $A_j$ e la cittadina $B_j$. La stessa coppia $(A_j, B_j)$ non compare $2$ o più volte.

Nei dati di input forniti è garantito che sia possibile andare da qualsiasi cittadina a qualsiasi altra cambiando taxi.

Output

Stampa in $1$ riga un intero che rappresenta la tariffa totale minima necessaria a JOI-kun per andare dalla cittadina $1$ alla cittadina $N$.

Esempi

Input 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

Output 1

700

Note

L'esempio sopra corrisponde alla figura seguente. I cerchi rappresentano le cittadine e le linee rappresentano le strade.

problem_23837_b3dd4c3dc8bcd7ab77787ca591951f69.png

In questo esempio, per raggiungere la cittadina $6$ con la tariffa minima, JOI-kun procede come segue:

  • Prende un taxi dalla cittadina $1$ e va alla cittadina $5$. (Tariffa $400$)
  • Prende un taxi dalla cittadina $5$ e va alla cittadina $6$. (Tariffa $300$)

Poiché la tariffa totale seguendo questo percorso è $400 + 300 = 700$, si stampa $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.