- Ionut 103
- Bogdan -50
- Marian -29
- Grigore -20
- Sebi 200
- Medana -33
Iahim încearcă, pe cât posibil, să facă în fiecare zi câte o faptă bună. Astăzi, el s-a gândit că ar fi frumos să își plătească datoriile pe care le are față de unii prieteni. Pentru asta, Iahim a creat o listă care conține atât prietenii care îi sunt îndatorați cât și cei cărora le este dator și a salvat-o în fișierul bitcell13.in respectând următoarele reguli:
- pe fiecare linie a fișierului se află numele unui prieten urmat o sumă de bani; această sumă de bani este un număr întreg din intervalul [-1000,1000] reprezentând suma pe care o datorează unui prieten (dacă este număr negativ) sau suma datorată de un prieten (dacă este număr pozitiv);
- numele unui prieten poate conține doar litere ale alfabetului englezesc și cifre;
- numele prietenilor sunt scurte, cu o lungime de maximum 10 caractere;
nu vor exista doi prieteni cu același nume - conține maximum 100 de linii
Acum, Iahim ar vrea să știe dacă poate alege un grup de prieteni astfel încât să-și poată plăti toate datoriile față de cei din grup strângând toți banii de la prietenii din grup care îi sunt datori și să rămână, la final, fără niciun ban.
Dacă există un astfel de grup, se va afișa în fișierul bitcell13.out "DA" iar în caz contrar se va afișa "NU". Se acordă puncte suplimentare dacă în cazul în care răspunsul este "DA" se vor afișa pe următoarele linii din fișier numele prietenilor care fac parte din grup în ordine alfabetică (cerința este opțională).
Exemplu:
bitcell13.in:
bitcell13.out:
- DA
- Bogdan
- Grigore
- Ionut
- Medana
Explicație: în cazul de față, Iahim poate lua cei 103 lei cu care Ionuț îi este dator și să-și plătească datoriile de 50, 20 și 33 de lei față de Bogdan, Grigore și respectiv Medana. Afișarea grupului de prieteni este opțională și aduce puncte bonus.
Perioada de desfăşurare:
16-27 August - înscrierea în concurs
28 August - desemnarea câștigătorului
P.S.: Problema este o variantă simplificată a celei cu caloriile de aici. Mulțumesc Smith pentru pontul referitor la problema aia
.Atenție: pentru că a trecut aproape o săptămână și nu a venit nimeni cu o rezolvare, am spus să o simplific modificând limitele datelor de intrare: sumele de bani pe care trebuie să le restituie sau să le primească sunt numere întregi din intervalul [-100,100] și numărul de linii din fișier este de maximum 30.
Welcome to BitCell. Click here to register !
. 
, a lui eni4ever pare ok 