ubuntzei

Time limit: 0.3s
Memory limit: 32MB
Input: ubuntzei.in
Output: ubuntzei.out

Trei ubuntzei au hotărât ca anul acesta să petreacă ziua de 1 Mai pe malul Mării Negre împreună cu prietenii lor, motiv pentru care au pus la cale o excursie pe un traseu care să plece din oraşul lor Cluj-Napoca spre Vama Veche, unde nisipul îi aşteaptă.

În ţara ubuntzeilor există NN localităţi, numerotate de la 11 la NN, legate între ele prin MM şosele bidirecţionale de diferite lungimi. Localitatea de plecare a ubuntzeilor, oraşul Cluj-Napoca, este numerotată cu 11, iar localitatea destinaţie, Vama Veche, cu NN. Între oricare două localităţi există cel mult o şosea. Fiecare şosea uneşte două localităţi distincte şi se poate călători între oricare două localităţi circulând numai pe şosele.

Prietenii ubuntzeilor locuiesc în KK localităţi distincte, diferite de Cluj-Napoca şi Vama Veche. Pentru a nu călători singuri, cei trei ubuntzei vor să treacă prin cele KK localităţi în care locuiesc prietenii lor, şi apoi, împreună cu aceştia, să-şi continue excursia către mare.

Nerăbdători să ajungă cât mai repede la destinaţie, ubuntzeii s-au hotărât să îşi stabilească un traseu de lungime minimă care să treacă prin toate cele KK localităţi.

Cerinţă

Scrieţi un program care să determine, pentru ubuntzei, lungimea minimă LL a unui traseu de la Cluj-Napoca la Vama Veche ce trece prin toate cele KK localităţi.

Date de intrare

Prima linie a fişierului de intrare ubuntzei.in conţine două numere naturale N MN\ M, separate printr-un spaţiu, cu semnificaţia din enunţ. A doua linie a fişierului conţine K+1K + 1 numere naturale distincte: K C1 C2 ... CKK\ C_1\ C_2\ ...\ C_K, separate prin câte un spaţiu, KK având semnificaţia din enunţ iar C1,C2,...,CKC_1, C_2, ..., C_K reprezentând cele KK localităţi în care locuiesc prietenii. Fiecare din următoarele MM linii conţine câte trei numere naturale x y zx\ y\ z, separate prin câte un spaţiu, reprezentând o şosea care leagă localitatea xx de localitatea yy şi are lungimea zz.

Date de ieşire

Fişierul de ieşire ubuntzei.out va conţine numărul natural LL reprezentând lungimea minimă căutată.

Restricţii şi precizări

  • 1N2 0001 ≤ N ≤ 2\ 000
  • 1M10 0001 ≤ M ≤ 10\ 000
  • 0Kmin{15,N2}0 ≤ K ≤ \min\{15, N - 2\}
  • 2C1,C2,...,CKN12 ≤ C_1, C_2, ..., C_K ≤ N - 1
  • Traseul poate trece de mai multe ori prin oricare localitate.
  • Costul unei muchii va fi cuprins între 11 şi 10510^5.
  • Pentru primele 20%20\% din teste K=0K = 0.
  • Pentru primele 50%50\% din teste K10K ≤ 10.
  • Pentru primele 70%70\% din teste N200N ≤ 200.

Exemplu

ubuntzei.in

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

ubuntzei.out

4

Explicații

Există un singur traseu de lungime minimă de la localitatea 11 la localitatea 44 şi care trece prin localitatea 22, şi anume: [1,2,3,4][1,2,3,4]. Lungimea LL a acestui traseu este 44.

Problem info

ID: 40

Editor: liviu

Author:

Source: OJI 2011 XI-XII: Problema 2

Tags:

OJI 2011 XI-XII

Log in or sign up to be able to send submissions!