Diferente pentru problema/bancomat intre reviziile #9 si #1

Diferente intre titluri:

Bancomat
bancomat

Diferente intre continut:

== include(page="template/taskheader" task_id="bancomat") ==
Fie un bancomat ce contine $6$ tipuri de bancnote, fiecare tip cu o valoare diferita. Cele $6$ valori posibile sunt: $1$ leu, $5$ lei, $10$ lei, $50$ de lei, $100$ de lei si $500$ de lei. Pentru fiecare tip exista un numar finit de bancnote continute in bancomat.
 
h2. Cerinta
 
In decursul unei zile vin $N$ clienti sa extraga bani din bancomat. Stiind pentru fiecare client suma de bani pe care vrea sa o extraga si numarul de bancnote din fiecare tip ce exista in bancomat, se cere sa se spuna daca se poate oferi fiecarui client suma de bani pe care o doreste.
Poveste şi cerinţă...
h2. Date de intrare
Pe prima linie din fisierul de intrare $bancomat.in$ se afla o singura valoare $T$ ce semnifica numarul de zile pentru care trebuie sa raspundeti.
In continuare se afla datele de intrare pentru fiecare zi in parte. Pentru fiecare zi se vor citi $3$ linii:
 
* Pe prima linie vor fi $6$ valori separate printr-un spatiu, semnificand numarul de bancnote din fiecare tip in ordinea : $1$, $5$, $10$, $50$, $100$, $500$
* Pe a doua linie se va afla o singura valoare $N$ ce va semnifica numarul de clienti din ziua respectiva
* Pe a treia linie se vor afla N valori semnificand sumele de bani pentru fiecare client, in ordinea in care acestia vor veni la bancomat in ziua respectiva pentru a face o extragere
Fişierul de intrare $bancomat.in$ ...
h2. Date de ieşire
În fişierul de ieşire $bancomat.out$ se vor afisa $T$ linii. Pe fiecare din cele $T$ linii se va afla cuvantul $"YES"$ (fara ghilimele) daca se pot oferi tuturor clientilor sumele de bani dorite de acestia in ziua respectiva, sau $"NO"$ (tot fara ghilimele) daca nu se poate. Cele $T$ linii corespund zilelor din fisierul de intrare in ordinea in care s-au citit.
În fişierul de ieşire $bancomat.out$ ...
h2. Restricţii
* $1$ ≤ $T$ ≤ $50$
* $1$ ≤ $N$ ≤ $5000$
* $0$ ≤ $Tip$, $Suma$ ≤ $2^30^$
** $Tip$ semnifica valoarea pentru oricare din cele $6$ tipuri posibile de bancnote
** $Suma$ semnifica suma de bani pentru oricare din cei $N$ clienti care fac extrageri din bancomat
* **Atentie!!! Bancomatul trebuie sa ofere suma exacta fiecarui client. Cu alte cuvinte, el nu poate oferi mai multi bani unui client pentru a acoperi suma dorita de acesta.**
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. bancomat.in |_. bancomat.out |
| 3
  4 3 2 0 0 0
  2
  17 15
  1 3 10 0 0 0
  2
  6 3
  99 99 99 99 99 0
  4
  233 213 233 244
| YES
  NO
  YES
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
h3. Explicaţie
Sunt $3$ zile in care se foloseste bancomatul.
 
* In prima zi bancomatul contine $4$ bancnote de $1$ leu, $3$ bancnote de $5$ lei si $2$ bancnote de $10$ lei. Primul client care vine la bancomat doreste suma de $17$ lei si primeste doua bancnote de $1$ leu, o bancnota de $5$ lei si una de $10$ lei. Al doilea client doreste suma de $15$ lei si primeste o bancnota de $5$ lei si una de $10$ lei.
 
* A doua zi vine primul client la bancomat si primeste o bancnota de $1$ leu si o bancnota de $5$ lei pentru a acoperi suma de $6$ lei pe care o doreste. Al doilea client doreste sa extraga $3$ lei, dar bancomatul nu mai contine nicio bancnota de $1$ leu, in concluzie el nu poate oferi tuturor clientilor suma dorita.
...
== include(page="template/taskfooter" task_id="bancomat") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

9761