retea |
|
Monica s-a angajat ca administrator de retea si nu e o
misiune prea usoara. Reteaua de calculatoare pe care o administreaza este
formata din N calculatoare (numerotate
de la 1 la N).
O conexiune directa in retea este un cablu care leaga doua calculatoare
distincte si asigura comunicarea bidirectionala intre cele doua calculatoare
conectate. In retea exista M conexiuni
directe. Evident, conexiunile directe existente asigura comunicarea in
retea (adica oricare doua calculatoare in retea pot comunica - direct
sau indirect, prin intermediul altor calculatoare). Numim operatia de alegere a unei submultimi de conexiuni minimale si imbracarea lor in masca protectoare pe toata lungimea lor "mascare". Doua "mascari" se considera distincte daca difera prin consumul total de masca protectoare utilizata. Evident consumul total al unei mascari nu poate depasi K (numarul de metri de masca disponibili). Monica doreste ca sa selecteze conexiunile minimale astfel incat numarul de mascari distincte sa fie maxim. Cerinţă Scrieti un program care sa determine suma lungimilor conexiunilor minimale, precum si numarul maxim de mascari distincte ale acestora.Date de intrare Fisierul de intrare retea.in contine pe prima linie numerele naturale N, M si K, avand semnificatia din enunt. Urmeaza apoi M linii, pe fiecare linie aflandu-se trei numere naturale a, b si c reprezentand faptul ca exista o conexiune directa intre calculatoarele a si b, lungimea cablului fiind c metri.Date de ieşire Fisierul de iesire retea.out va contine o singura linie pe care vor fi scrise doua numere naturale separate prin spatiu. Primul numar reprezinta suma lungimilor conexiunilor minimale selectate (minima posibil). Al doilea numar reprezinta numarul maxim de mascari distincte ale conexiunilor minimale.Restricţii
Exemple
|