grupe

Time limit: 0.1s Memory limit: 4MB Input: grupe.in Output: grupe.out

Doamna directoare trebuie să împartă elevii din clasele a VII-a în kk grupe pentru un concurs. Numărul de elevi din oricare două grupe trebuie să difere cel mult cu 11, iar numărul de fete și de băieți din fiecare grupă trebuie să difere tot cu cel mult 11. Știind că sunt maxim 200200 de elevi în clasele a VII-a, doamna directoare, după ce formează grupele, dorește să fie verificat dacă acestea sunt bine realizate (fiecare copil să apară într-o singură grupă și grupele să satisfacă condițiile cerute).

Spre exemplu:

  • Pentru 1010 copii în clasele a VII-a, un număr de 33 grupe, șirul care indică componența fete sau băieți: fbfbfbfbfb cu semnificația copilul cu numărul de ordine 11 este fată, cel cu numărul 22 este băiat, etc..
  • Prima grupă are 33 copii și componența: 1 2 101 \ 2 \ 10;
  • Grupa a doua are 33 copii și componența: 3 4 93 \ 4 \ 9;
  • Grupa a treia are 44 copii și componența: 5 6 7 85 \ 6 \ 7 \ 8;
  • Răspunsul este: grupele au fost corect alcătuite.
  • Numerele ce formează o grupă reprezintă numărul de ordine pe care îl are fiecare copil în șirul inițial.

Cerință

Scrieți un program care, cunoscând numărul total de copii, numărul de grupe, un șir format din caracterele f și b pentru fiecare copil dacă este fată sau băiat, numărul de copii din fiecare grupă și componența grupelor, răspunde prin DA sau NU dacă s-au constituit corect sau nu grupele de copii. Pentru fiecare grupă se va preciza numărul de fete și numărul de băieți din grupa respectivă. Grupele sunt corect constituite dacă sunt cuprinși toți copiii, numărul de copii din grupe diferă prin cel mult un copil și pentru fiecare grupă numărul de fete și de băieți diferă prin cel mult 11.

Date de intrare

Fișierul grupe.in conține pe prima linie numerele naturale nn și kk, reprezentând numărul de elevi din clasele a VII-a și respectiv numărul de grupe pe care dorește să-l realizeze directoarea. Pe următoarea linie se află un șir de nn caractere f și b format astfel: dacă elevul cu numărul de ordine ii este fată, caracterul de pe poziția ii din șir este f; dacă elevul cu numărul de ordine ii este băiat, caracterul de pe poziția ii din șir este b. Următoarele kk linii vor avea următoarea structură: numărul de copii din grupă urmat de numerele de ordine ale copiilor care formează grupa respectivă.

Date de ieșire

Fișierul de ieșire grupe.out va conține pe primele kk linii câte două valori numere naturale reprezentând numărul de băieți și numărul de fete din fiecare grupă, separate prin câte un spațiu și pe ultimul rând cuvântul DA dacă grupele sunt constituite corect sau cuvântul NU în caz contrar.

Restricții și precizări

  • 1n,k2001 \leq n, k \leq 200;

Exemplul 1

grupe.in

10 3
fbfbfbfbfb
3 1 2 10
3 3 4 9
4 5 6 7 8

grupe.out

2 1
1 2
2 2
DA

Explicație

Numărul de copii din grupe este 3,3,43, 3, 4, deci diferă prin cel mult 11; în prima grupă sunt 22 băieți și o fată, în grupa a doua sunt 22 fete și un băiat, iar în grupa a treia sunt 22 fete și 22 băieți.

Exemplul 2

grupe.in

10 2
fffffbbbbb
7 1 2 3 4 6 7 8
3 5 9 10

grupe.out

3 4
2 1
NU

Explicație

Numărul de copii din prima grupă este 77 iar din grupa a doua 33, deci diferă prin mai mult decât 11 copil.

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