ConcursC++17

reteta

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

  • 1≤N≤201 \leq N \leq 20
  • 1≤M≤151 \leq M \leq 15
  • 1≤1 \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

Sursă și autori

ONI 2008, clasele 8. Daniela Lica.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑