reteta

Time limit: 0.03s Memory limit: 4MB Input: reteta.in Output: reteta.out

Gigel trebuie să cumpere nn medicamente, numerotate de la 11 la nn. Doctorul i-a dat mm reţete de două tipuri, codificate cu numerele 11, 22 astfel:

  • 11 — reţetă necompensată, adică preţul medicamentelor de pe reţetă se achită integral de către cumpărător;
  • 22 — reţetă compensată 50%50\%, adică preţul medicamentelor înscrise pe reţetă se înjumătăţeşte;

Se ştie că pe reţete nu există un alt medicament decât cele numeroatete de la 11 la nn şi o reţetă nu conţine două medicamente identice.
Dacă o reţetă este folosită atunci se vor cumpăra toate medicamentele înscrise pe ea.

Cerință

Scrieţi un program care să determine suma minimă de bani necesară pentru a cumpăra exact câte unul din fiecare dintre cele nn medicamente, folosindu-se de reţetele avute la dispoziţie.

Date de intrare

Fişierul de intrare reteta.in are următorul format :

  • pe prima linie sunt scrise numerele naturale nn şi mm;
  • pe următoarele mm linii sunt descrise cele mm reţete, câte o reţetă pe o linie. Linia care descrie o reţetă conţine tipul reţetei (11 — necompensată, 22 — compensată), urmat de un număr natural qq reprezentând numărul de medicamente de pe reţetă, apoi de qq numere distincte din mulţimea {1,2,,n}\{1, 2, \dots, n\} reprezentând medicamentele înscrise pe acea reţetă;
  • pe ultima linie a fişierului de intrare sunt scrise nn numere naturale separate prin câte un spaţiu, reprezentând în ordinea de la 11 la nn, preţul medicamentelor.

Toate numerele de pe aceeaşi linie sunt separate prin câte un spaţiu

Date de ieșire

Fişierul de ieşire reteta.out va conţine o singură linie pe care va fi scris un număr real cu o singură zecimală, reprezentând suma minimă determinată.

Restricții și precizări

  • 1N201 \leq N \leq 20
  • 1M151 \leq M \leq 15
  • 11 \leq preţul oricărui medicament 200\leq 200
  • Pentru datele de test există întotdeauna soluţie.

Exemplu

reteta.in

4 5
2 1 3
2 2 2 3
1 1 1
1 3 4 1 2
1 1 3
8 20 2 16

reteta.out

45.0

Explicație

Soluţia s-a obţinut prin folosirea primei şi celei de a patra reţete.
O altă soluţie, dar de cost mai mare, s-ar fi obţinut dacă se folosea reţeta a patra şi cea de a cincea

Log in or sign up to be able to send submissions!