Charlie a decis să se joace cu literele dintr-un șir de caractere, șir ce conține doar literele mici ale alfabetului englez de la a
la z
. Jocul constă în a elimina litere din șir după următoarea regulă: fie , , trei litere aflate pe poziții consecutive în șir, atunci litera poate fi eliminată dacă și numai dacă este strict mai mică lexicografic decât literele și .
Pentru a face jocul mai interesant, Charlie atașează eliminării literei un cost egal cu valoarea maximă dintre și , unde prin literă
înțelegem numărul de ordine al literei respective în alfabet (a
b
z
). Charlie aplică în mod repetat procedeul de eliminare și calculează suma costurilor eliminărilor efectuate.
Cerințe
Fiind dat un șir de caractere să se determine:
- Lungimea maximă a unei secvențe de litere alternante, adică o secvență pentru care literele aflate pe poziții consecutive sunt de forma: .
- Suma maximă pe care o poate obține Charlie aplicând în mod repetat procedeul de eliminare a literelor, precum și șirul obținut în final.
Date de intrare
Fișierul de intrare charlie.in
conține pe prima linie un număr natural . Pentru toate testele de intrare, numărul poate avea doar valoarea sau valoarea . Pe următoarea linie se află un șir de caractere.
Date de ieșire
Dacă valoarea lui este , se va rezolva numai prima cerință.
În acest caz, în fișierul de ieșire charlie.out
se va scrie un singur număr natural ce reprezintă lungimea maximă a unei secvențe de litere alternante.
Dacă valoarea lui este , se va rezolva numai a doua cerință.
În acest caz, fișierul de ieșire charlie.out
va conține două linii. Pe prima linie se va afla șirul rezultat în urma eliminărilor repetate de litere respectând regula enunțată, iar pe cea de-a doua linie suma maximă obținută.
Restricții și precizări
- Numărul de litere ale șirului inițial este cuprins între și inclusiv.
- Pentru rezolvarea corectă a primei cerințe se acordă 25 de puncte, iar pentru cerința a doua se acordă 75 de puncte.
- Pentru dintre teste, numărul de litere ale șirului este .
Exemplul 1
charlie.in
1
cadgfacbda
charlie.out
5
, deci pentru acest test se rezolvă doar prima cerință.
Secvențele alternante corect formate sunt: cad
, facbd
. Lungimea maximă este .
Exemplul 2
charlie.in
2
cbcabadbac
charlie.out
ccdc
21
, deci pentru acest test se rezolvă doar a doua cerință.
Șirul inițial este cbcaBADbac
.
Eliminăm din secvența BAD
litera a
și adăugăm la sumă valoarea . Șirul nou este cbcabdBAC
.
Eliminăm din secvența BAC
litera a
și adăugăm la sumă valoarea . Șirul nou este cbcabDBC
.
Eliminăm din secvența DBC
litera b
și adăugăm la sumă valoarea . Șirul nou este cbCABdc
.
Eliminăm din secvența CAB
litera a
și adăugăm la sumă valoarea . Șirul nou este cbCBDc
.
Eliminăm din secvența CBD
litera b
și adăugăm la sumă valoarea . Șirul nou este CBCdc
.
Eliminăm din secvența CBC
litera b
și adăugăm la sumă valoarea . Șirul nou este ccdc
.
Nu mai sunt posibile eliminări. Suma maximă obținută este .