.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » mesaj1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
mesaj1


Timp maxim de execuţie / test:
2s
Memorie totala disponibilă / stivă:
32MB / 1MB

Până nu demult, în Bucovina existau doar N oraşe conectate între ele prin N-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 M 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 (1≤i≤M) va transmite mesajul în toate oraşele situate pe ruta care porneşte din oraşul ai şi ajunge în oraşul bi. Pentru a transmite mesajul în toate oraşele de pe ruta sa, mesagerul i (1≤i≤M) va primi Xi 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 N oraşe din Bucovina?

Date de intrare

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

Date de ieşire

Fişierul de ieşire mesaj1.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 N oraşe.

Restricţii

2 < N < 11011
2 < M < 110011
0 < Xi < 1111
, pentru orice 1≤i≤M
1 ≤ ai, bi ≤ N
, pentru orice 1≤i≤M
Nu vor exista mai mult de 9 mesageri care să treacă prin acelaşi oraş.

Exemple

mesaj1.inmesaj1.outExplicaţii
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 40 Suma minimă necesară este de 40 de galbeni.
Sunt necesari 4 mesageri, cu rutele:
8 6
1 7
4 1
10 9

Există şi alte soluţii, dar pentru acestea suma necesară este mai mare.

autor: Dan Ionut Fechete
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la LOT SV 2007: bcast, cladiri, emax, patrate4, turism, zuzu
De acelaşi autor: 2sec, croco, judete, tetris2, trafic, monede1, diamant, ratina, import, drept1, gard, pitici1, curent
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, pitici1, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre arbori: bonuri, tgv, barfa, votare, arce, balaur, trains, bile2, vmem, plopi, caravane, mese, strict, tree, sub, kinder, firma1, albinuta, rlcs, masina, omizi, concurs1, latime, piloti, barca1, arbnr, sirag1, pikachu, arb, logn, maxq, arbore, bcast, traseu, asmax, salvare, tramvai1, omida, sediu, string, tv, izo, zoo, ratina, vitale, camion1, arbfind, cezar1, tcast, dep, curent, spp, frunze, sea2, culori, color, urgenta, nori, treegame, antipatie, scanduri, minuni, arb1, activ, regat, kdtree, autostrazi, carray, trenuri1, arbgraf, war, mess, secvnumber, subs, posta, radare, arbore1, hacker, lista, codarb, subsecvente, confuzie, transform, arbsum, copaci3, arbvalmax
surse trimise | ajutor