mesaj

Time limit: 0.75s Memory limit: 32MB Input: mesaj.in Output: mesaj.out

Până nu demult, în Bucovina existau doar NN oraşe conectate între ele prin N1N-1 şosele bidirecţionale. Cu toate acestea, se putea ajunge din orice oraş în orice alt oraş mergând pe una sau mai multe şosele.

Când Ştefan trebuia să facă un anunţ important, el trimitea mesajul către fiecare dintre cei MM mesageri ai săi. Fiecare mesager, după primirea mesajului de la Ştefan, pleacă să transmită mesajul primit pe o rută fixată. Mai exact, mesagerul i (1iM)i\ (1 \leq i \leq M) va transmite mesajul în toate oraşele situate pe ruta care porneşte din oraşul aia_i şi ajunge în oraşul bib_i. Pentru a transmite mesajul în toate oraşele de pe ruta sa, mesagerul i (1iM)i\ (1 \leq i \leq M) va primi XiX_i galbeni.

Cerinţă

Care este număr minim de galbeni pe care Ştefan trebuia să-l plătească pentru ca mesajul său să ajungă în toate cele NN oraşe din Bucovina?

Date de intrare

Fişierul de intrare mesaj.in conţine pe prima linie numărul natural NN, reprezentând numărul de oraşe din Bucovina. Următoarele N1N-1 linii conţin câte două numere naturale distincte separate printr-un spaţiu a ba \ b cu semnificaţia "există o şosea care conectează direct oraşele aa şi bb". Pe linia N+1N+1 este scris un număr natural MM reprezentând numărul de mesageri. Pe următoarele MM linii se află informaţii despre cei MM mesageri. Pe cea de a ii-a linie dintre cele M(1iM)M (1 \leq i \leq M) sunt scrise trei numere naturale separate prin câte un spaţiu ai bi Xia_i \ b_i \ X_i, cu semnificaţia "mesagerul ii parcurge ruta de la oraşul aia_i la oraşul bjb_j, fiind plătit cu XiX_i galbeni".

Date de ieșire

Fişierul de ieşire mesaj.out va conţine o singură linie pe care va fi scris numărul minim de galbeni pe care trebuie să-i plătească Ştefan, pentru ca mesajul să fie transmis în toate cele NN oraşe.

Restricții și precizări

  • 2<N<11 0112 < N < 11 \ 011
  • 2<M<110 0112 < M < 110 \ 011
  • 0<Xi<1 1110 < X_i < 1 \ 111, pentru orice 1iM1 \leq i \leq M
  • 1ai,biN1 \leq a_i, b_i \leq N, pentru orice 1iM1 \leq i \leq M
  • Nu vor exista mai mult de 99 mesageri care să treacă prin acelaşi oraş.

Exemplu

mesaj.in

10
1 2
1 3
3 4
3 5
5 6
5 7
5 8
2 9
2 10
9
8 6 10
10 9 10
1 4 30
4 1 10
7 8 50
1 7 10
6 1 10
10 1 10
9 1 10

mesaj.out

40

Explicație

Suma minimă necesară este de 4040 de galbeni.
Sunt necesari 44 mesageri, cu rutele:

  • 8 68 \ 6
  • 1 71 \ 7
  • 4 14 \ 1
  • 10 910 \ 9
    Există şi alte soluţii, dar pentru acestea suma necesară este mai mare.

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