Sunteți pe pagina 1din 1

Ministerul Educaiei si Cercetrii Stiintifice

Olimpiada Judeean de Informatic


7 martie 2015

Clasa a X-a

Sursa: ID1.c, ID1.cpp, ID1.pas

Problema 1 - charlie

100 puncte

Charlie a decis s se joace cu literele dintr-un ir de caractere, ir ce con ine doar literele mici ale alfabetului englez
az. Jocul const n a elimina litere din ir dup urmtoarea regul: fie L1, L2, L3 trei litere aflate pe poziii
consecutive n ir, atunci litera L2 poate fi eliminat dac i numai dac este strict mai mic lexicografic dect
literele L1 i L3.
Pentru a face jocul mai interesant, Charlie ataeaz eliminrii literei L2 un cost egal cu valoarea maxim dintre
(L1) i (L3), unde prin (litera) nelegem numrul de ordine al literei respective n alfabet
((a)=1, (b)=2,,(z)=26). Charlie aplic n mod repetat procedeul de eliminare i calculeaz
suma costurilor eliminrilor efectuate.

Cerine
Fiind dat un ir de caractere s se determine:
a) Lungimea maxim a unei secvene de litere alternante, adic o secven pentru care literele aflate pe pozi ii
consecutive sunt de forma: Li > Li+1 < Li+2 > Li+3 < Li+4 > < Lj.
b) Suma maxim pe care o poate obine Charlie aplicnd n mod repetat procedeul de eliminare a literelor,
precum i irul obinut n final.

Date de intrare
Fiierul de intrare charlie.in conine pe prima linie un numr natural p. Pentru toate testele de intrare, numrul p
poate avea doar valoarea 1 sau valoarea 2. Pe urmtoarea linie se afl un ir de caractere.

Date de ieire
Dac valoarea lui p este 1, se va rezolva numai punctul a) din cerin.
n acest caz, n fiierul de ieire charlie.out se va scrie un singur numr natural L ce reprezint lungimea maxim a
unei secvene de litere alternante.
Dac valoarea lui p este 2, se va rezolva numai punctul b) din cerin.
n acest caz, fiierul de ieire charlie.out va conine dou linii. Pe prima linie se va afla irul rezultat n urma
eliminrilor repetate de litere respectnd regula enun at, iar pe cea de-a doua linie suma maxim ob inut.

Restricii i precizri

3 numrul de litere ale irului iniial 100000


Pentru rezolvarea corect a primei cerine se acord 25 de puncte, iar pentru cerina a doua se acord 75 de
puncte.
Pentru 30% dintre teste numrul de litere ale irului 1000

Exemple
charlie.in
1
cadgfacbda

charlie.out
5

charlie.in
2
cbcabadbac

charlie.out
ccdc
21

Explicaie
p = 1
Secvenele alternante corect formate sunt: cad, facbd. Lungimea maxim este 5

Atenie! Pentru acest test se rezolv doar cerina a).


Explicaie
p = 2
irul iniial: cbcabadbac
Eliminm din secvena bad litera a i adugm la suma valoarea 4
irul rezultat n urma eliminrii este: cbcabdbac
Eliminm din secvena bac litera a i adugm la suma valoarea 3
irul rezultat n urma eliminrii este: cbcabdbc
Eliminm din secvena dbc litera b i adugm la suma valoarea 4
irul rezultat n urma eliminrii este: cbcabdc
Eliminm din secvena cab litera a i adugm la suma valoarea 3
irul rezultat n urma eliminrii este: cbcbdc
Eliminm din secvena cbd litera b i adugm la suma valoarea 4
irul rezultat n urma eliminrii este: cbcdc
Eliminm din secvena cbc litera b i adugm la suma valoarea 3
irul rezultat n urma eliminrii este: ccdc
Nu mai sunt posibile eliminri. Suma maxim obinut este 21.

Atenie! Pentru acest test se rezolv doar cerina b).


Timp maxim de execuie: 0,5 secund/test.
Memorie total disponibil 4 MB, din care 2 MB pentru stiv
Dimensiunea maxim a sursei: 5 KB

S-ar putea să vă placă și