În judeţul Alba sunt localităţi numerotate de la la . Între aceste localităţi există o reţea de drumuri cu dublu sens (bidirecţionale) concepută astfel încât între oricare două localităţi există un singur drum care, fie e direct, fie trece prin alte localităţi. Există perechi de localităţi cu proprietatea că între localităţile ce formează o pereche există un drum direct. Lungimea acestor drumuri directe este cunoscută.
Firma TOL produce bunuri de larg consum; are o fabrică în reşedinţa judeţului care este localitatea numerotată şi magazine, câte unul în fiecare dintre celelalte localităţi din judeţ. Pentru a transporta produsele de la fabrică la cele magazine, TOL are la dispoziţie camioane. Deoarece produsele fabricii nu sunt voluminoase şi nici nu cântăresc prea mult, capacitatea camioanelor este practic nelimitată, astfel încât orice camion ar putea aproviziona într-o singură cursă toate magazinele din judeţ. O cursă a unui camion începe obligatoriu la fabrică (adică în localitatea ), poate trece de mai multe ori printr-o localitate şi se poate termina în oricare localitate a judeţului; nu este obligatoriu ca din cursă camionul să revină la localitatea .
Costul unei astfel de curse este direct proporţional cu distanţa parcursă. Camioanele fiind cam vechi, ele nu pot efectua decât o singură cursă (indiferent de lungimea acesteia).
Programatorul firmei TOL primeşte ca sarcină de serviciu elaborarea unei planificări care să stabilească traseele a cel mult curse prin care să fie aprovizionate toate localităţile judeţului, iar suma distanţelor parcurse de camioane în aceste curse să fie minimă. El nu se prea descurcă cu programarea, dar e bine informat şi ştie că lotul naţional de informatică se află la Alba Iulia. Aşa că apelează la voi pentru a-i rezolva problema.
Cerinţă
Scrieţi un program care determină o planificare a traseelor pentru cel mult curse astfel încât prin aceste curse să fie aprovizionate toate cele magazine, iar suma distanţelor parcurse de camioanele plecate în aceste curse să fie minimă.
Date de intrare
Fişierul camion.in
conţine:
− pe prima linie două valori numerice naturale pozitive şi cu semnificaţia din enunţ;
− pe fiecare dintre următoarele linii, valori numerice naturale pozitive se-parate printr-un spaţiu, cu semnificaţia: între localităţile şi este un drum direct de lungime .
Date de ieşire
Fişierul camion.out
va conţine o singură linie care va conţine suma distanţelor parcurse camioane.
Restricţii şi precizări
- ; pentru din teste
- Nu există două localităţi între care să existe două drumuri directe.
- Lungimea unui drum direct nu depăşeşte şi este un număr nenul.
Exemplul 1
camion.in
5 1
1 2 10
3 1 7
4 3 1
3 5 2
camion.out
30
Explicație
Se foloseşte un singur camion; cursa are următorul traseu:
Suma distanţelor este:
Exemplul 2
camion.in
5 3
1 2 10
3 1 7
4 3 1
3 5 2
camion.out
21
Explicație
Se folosesc două camioane; cele două curse sunt: şi .
Suma distanţelor este: