Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2010-02-04 20:08:22.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:char.in, char.outSursăONI gimnaziu 2010, clasa a 7-a
AutorDoru Popescu AnastasiuAdăugată demiculprogramatorA Cosmina - vechi miculprogramator
Timp execuţie pe test0.075 secLimită de memorie5120 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Char

Alex a primit de la Moş Crăciun un joc foarte interesant. Jocul este format dintr-un text cu n litere mici ale alfabetului englez. Fiecare literă are o anumită putere, dată printr-un număr natural. Puterea k a unei litere C constă în faptul că, dacă aceasta este atinsă atunci toate literele din secvenţa de k litere, din stânga şi din dreapta se transformă în C. Spre exemplu, dacă litera x are puterea 2, atunci după atingere, textul abcbxpbrr se transformă în abxxxxxrr. Cunoscând puterea fiecărei litere, jocul constă în determinarea numărului maxim m de litere, care după atingere să transforme orice literă din text cel mult odată.

Cerinţă

Scrieţi un program care să citească un text cu n litere, puterea fiecărei litere şi să afişeze numărul de litere din text cu puterea maximă, notat cu q precum şi numărul m.

Date de intrare

Fişierul de intrare char.in conţine pe prima linie numărul natural n, pe a doua linie cele n litere ale textului fără spaţiu între ele, pe a treia linie numărul h de litere distincte din text, iar pe a patra linie h numere naturale separate între ele prin câte un spaţiu reprezentând puterea literelor din text în ordine alfabetică.

Date de ieşire

Fişierul de ieşire char.out va conţine pe prima linie numărul q şi pe a doua linie numărul m.

Restricţii

  • 1 ≤ n ≤ 10000
  • 1 ≤ putere literă ≤ 100
  • Dacă în stânga sau dreapta unei litere sunt mai puţine litere decât puterea, atunci atingerea ei conduce la transformarea tuturor literelor din stânga, respectiv dreapta.
  • Prima literă din text este pe poziţia 1, a doua literă pe poziţia 2, şi aşa mai departe.

Exemplu

char.inchar.out
12
acbbxacbbbxb
4
2 5 3 2
6
3

Explicaţie

Litera a are puterea 2, litera b puterea 5, litera c puterea 3, respectiv litera x are puterea 2.
Litera cu puterea maximă este b şi apare în secvenţă de 6 ori.
Numărul maxim de litere, care pot fi atinse astfel încât oricare literă a textului să se transforme cel mult odată este 3 (de exemplu se pot atinge literele de pe poziţiile 1, 6, 11).

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?