Pasionat de jocurile de cărți în echipă, marele Idum a început să se antreneze de unul singur pentru ele. Unul din jocurile lui preferate se numește canastă, joc în care o parte semnificativă din strategie se învârte în jurul obținerii canastelor: grupe de șapte () cărți care au aceeași valoare, sau în completare jokeri. O proprietate necesară a canastelor este aceea că fiecare canastă conține mai multe valori în componența ei decât jokeri, cu excepția canastelor formate doar din jokeri. Pentru a se antrena eficient, Idum se concentrează pe trei scenarii diferite pe un pachet de cărți:
- Date fiind cele cărți de joc, care este numărul maxim de canaste posibile?
- Date fiind cele cărți de joc și știind că toate canastele formate din valori de (putând conține și jokeri, dar neapărat valori de ) vor valora două puncte, iar celelalte canaste un singur punct, care este punctajul maxim posibil?
- Date fiind cele N cărți de joc și știind că toate canastele formate din jokeri vor valora puncte, cele din valori de (putând conține și jokeri, dar neapărat valori de ) vor valora două puncte, iar celelalte canaste un singur punct, care este punctajul maxim posibil?
Cerință
Imud, fiind obosit după numărarea celor cărți de joc și transcrierea lor pe calculator, vă roagă să îl ajutați cu răspunsurile pentru cele trei scenarii date.
Date de intrare
Datele de intrare conțin, pe prima linie, două valori:
- , numărul de cărți de joc din pachetul dat;
- , un număr de la la , ce reprezintă numărul cerinței pentru acest test.
Pe următoarea linie urmează cele cărți de joc, fiecare descrisă printr-o valoare care poate fi:
- nenulă, reprezentând valoarea cărții de joc cu indicele ,
- sau , în cazul în care cartea cu numărul este un joker.
Date de ieșire
Afișați răspunsul pentru scenariul dat pe o linie.
Restricții
- ;
- ;
- , unde jokerii sunt marcați cu ;
- Vom nota cu numărul jokerilor din test.
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 3 | |
| 2 | 3 | |
| 3 | 4 | |
| 4 | 5 | |
| 5 | 5 | |
| 6 | 7 | |
| 7 | 6 | |
| 8 | 6 | |
| 9 | 8 | |
| 10 | 5 | |
| 11 | 5 | |
| 12 | 6 | |
| 13 | 5 | |
| 14 | 5 | |
| 15 | 6 | |
| 16 | 3 | |
| 17 | 3 | |
| 18 | 3 | |
| 19 | 3 | |
| 20 | 4 | |
| 21 | 5 |
Exemplul 1
stdin
22 1
1 1 0 0 1 1 0 1 2 2 2 1 1 2 3 3 3 0 0 0 0 1
stdout
2
Explicație
, deci ne interesează numărul maxim de canaste posibile. Putem crea o canastă de fără să folosim jokeri, și una de folosind trei jokeri. Nu putem crea o canastă de folosind patru jokeri, deoarece aceasta ar avea mai mulți jokeri decât valori, lucru care nu este permis. O altă soluție pentru două canaste ar fi să avem o canastă numai din și una numai din jokeri. O a treia soluție ar fi să avem două canaste, fiecare cu câte patru de si câte trei jokeri.
Exemplul 2
stdin
24 2
1 4 1 4 4 0 0 1 1 4 0 0 0 3 3 2 2 2 2 2 3 3 4 3
stdout
3
Explicație
, deci ne interesează scorul maxim când canastele de sunt mai valoroase. Putem crea o canastă de cu trei jokeri, și una de folosind doi jokeri, pentru scorul total de 3. O altă soluție ar fi să avem o canastă din și una din , fiecare cu câte doi jokeri, pentru un scor de .
Exemplul 3
stdin
25 3
1 1 0 0 1 1 0 1 2 2 2 1 1 2 3 3 3 0 0 0 0 1 0 0 0
stdout
6
Explicație
, deci ne interesează scorul maxim când canastele de și de jokeri sunt mai valoroase. Putem crea o canastă de fără să folosim jokeri, și una de folosind trei jokeri, pentru scorul total de 3. O altă soluție (mai bună) ar fi să avem o canastă numai din și una numai din jokeri, alături de o canastă cu patru de și jokeri, pentru un scor total de .