Bessie vuole sempre ottimizzare la vita e ama visitare $F$ pascoli preferiti $F_i$ fra i $P$ di Farmer John. Sono numerati $1,\ldots,P$; $1\le F\le P$, $1\le P\le500$, $1\le F_i\le P$.
I $C$ sentieri bidirezionali tra pascoli (numeri $1,\ldots,C$, $1\le C\le8,000$) consentono di raggiungere qualsiasi pascolo. Il sentiero $P_i$ collega $a_i,b_i$ ($1\le a_i,b_i\le P$) e richiede $T_i$ ($1\le T_i\le892$) in entrambi i sensi.
Cerca il numero del pascolo migliore dove dormire, per minimizzare al risveglio il tempo medio per raggiungere i suoi $F$ preferiti.
Nella mappa di esempio gli asterischi indicano i preferiti e i numeri tra parentesi quadre i tempi dei sentieri.
1*--[4]--2--[2]--3
| |
[3] [4]
| |
4--[3]--5--[1]---6---[6]---7--[7]--8*
| | | |
[3] [2] [1] [3]
| | | |
13* 9--[3]--10*--[1]--11*--[3]--12*
La tabella mostra le distanze per i candidati 4,5,6,7,9,10,11,12:
* * * * * * Favorites * * * * * *
Potential Pasture Pasture Pasture Pasture Pasture Pasture Average
Best Pasture 1 8 10 11 12 13 Distance
------------ -- -- -- -- -- -- -----------
4 7 16 5 6 9 3 46/6 = 7.67
5 10 13 2 3 6 6 40/6 = 6.67
6 11 12 1 2 5 7 38/6 = 6.33
7 16 7 4 3 6 12 48/6 = 8.00
9 12 14 3 4 7 8 48/6 = 8.00
10 12 11 0 1 4 8 36/6 = 6.00 ** BEST
11 13 10 1 0 3 9 36/6 = 6.00
12 16 13 4 3 0 12 48/6 = 8.00
Supponendo che questi includano i migliori (il programma deve controllarli tutti in qualche modo), il posto migliore dove dormire è il pascolo 10.
Input
- Riga 1: $P,F,C$ separati da spazi.
- Righe $2,\ldots,F+1$: la riga $i+2$ contiene l’intero $F_i$.
- Righe $F+2,\ldots,C+F+1$: la riga $i+F+1$ descrive il sentiero $i$ con $a_i,b_i,T_i$ separati da spazi.
Output
- Riga 1: numero intero del miglior pascolo per dormire. In caso di parità scegli il più piccolo.
Esempi
Input 1
13 6 15
11
13
10
12
8
1
2 4 3
7 11 3
10 11 1
4 13 3
9 10 3
2 3 2
3 5 4
5 9 2
6 7 6
5 6 1
1 2 4
4 5 3
11 12 3
6 10 1
7 8 7
Output 1
10
Note
Come nell’enunciato
Come nell’enunciato.
Autore: Rob Kolstad, 2009