Orașul TownsVille este un oraș foarte aglomerat. Acesta este format din intersecții numerotate de la la , conectate prin străzi. Primarul orașului cunoaște pentru câteva din cele intersecții un coeficient pozitiv reprezentând aglomerația din intersecția . Pentru intersecțiile în care acest coeficient este necunoscut, primarul este obligat să fixeze personal acest coeficient (de asemenea pozitiv).
Inițial, primarului nu prea îi păsa ce coeficienți selectează. Dacă pentru o intersecție coeficientul era prea mic, lumea ar fi fost mulțumită, dacă nu, ar fi impus taxe, deci el ar fi fost mulțumit. Din păcate, Gașca Cangrenă este pusă pe tot felul de mârlănii: de la aruncat hârtie în coșul cu plastic, până la furat înghețata copiilor mici, orice e posibil. Astăzi, în schimb, aceștia s-au decis să fure cauciucurile mașinilor din interiorul intersecțiilor. Astfel, primarul și-a impus următoarea regulă: pentru oricare două intersecții conectate printr-o stradă, diferența coeficientului de aglomerație între cele două intersecţii trebuie să nu fie prea mare. Dacă această diferență ar fi mult prea mare, Gașca Cangrenă ar ataca cu siguranță intersecția mai aglomerată. Altfel, aceștia ar fi confuzi pe care să o atace (întrucât nu știu să numere câte mașini sunt într-o intersecție), fapt care le-ar câștiga timp fetițelor Powerpuff să vină să salveze situația.
Dându-se configurația orașului TownsVille, precum și coeficienții cunoscuți de aglomerație ai unor intersecții, scopul vostru este să selectați câte un coeficient de aglomerație pentru restul intersecțiilor astfel încât să minimizați diferența maximă între oricare două intersecții conectate printr-o stradă.
Date de intrare
Fișierul de intrare cangrena.in
va conține pe prima linie două numere naturale și , cu semnificația din enunț. Pe următoarea linie se vor afla numere, al -lea număr reprezentând coeficientul de aglomerație al intersecției numerotate cu indicele , dacă acest coeficient este cunoscut, altfel. Următoarele linii vor conține câte două numere naturale și , reprezentând faptul că intersecția este conectată cu intersecția printr-o stradă.
Date de ieşire
Fișierul de ieșire cangrena.out
va conține o singură linie cu numere naturale pozitive (separate prin cate un spațiu), al -lea număr reprezentând coeficientul de aglomerație al intersecției cu indicele (se vor afișa inclusiv coeficienții fixați inițial).
Restricţii şi precizări
- din orice intersecţie se poate ajunge în oricare alta prin drumurile existente
- există cel puţin o intersecţie cu coeficientul de aglomeraţie cunoscut
- în orice intersecţie ajunge cel puţin o stradă
- străzile sunt bidirecţionale
- coeficienţii de aglomerare cunoscuţi sunt numere naturale nenule mai mici sau egale cu
Exemplu
cangrena.in
4 3
10 -1 20 12
1 2
2 3
4 2
cangrena.out
10 15 20 12
cangrena.in
8 8
-1 33 -1 -1 -1 -1 -1 31
1 3
1 6
2 5
3 8
4 8
5 6
5 7
6 7
cangrena.out
33 33 32 32 34 34 35 31
Explicaţii