Un număr se numește palindrom dacă citit de la stânga la dreapta este identic cu numărul citit de la dreapta la stânga. De exemplu, numerele și sunt palindromuri. Un număr care nu este palindrom poate fi transformat în palindrom adăugând la dreapta sa una sau mai multe cifre.
Dat fiind un șir de numere naturale, scrieţi un program care să rezolve următoarele două cerinţe:
- să se determine numărul minim total de cifre care trebuie să fie adăugate, astfel încât fiecare valoare din șir să fie palindrom;
- considerând că putem adăuga cel mult cifre, să se determine numărul maxim de termeni palindrom aflați pe poziții consecutive în șirul obținut.
Date de intrare
Fișierul de intrare palindrom.in
conţine pe prima linie numărul , reprezentând cerința care trebuie să fie rezolvată ( sau ). Pe cea de a doua linie se află un număr natural , reprezentând numărul de valori din șir. Pe următoarele linii se află cele numere din șir, câte un număr pe o linie. Dacă , pe ultima linie a fișierului de intrare se va afla numărul natural reprezentând numărul maxim de cifre ce pot fi adăugate.
Date de ieșire
Fișierul de ieșire palindrom.out
va conţine o singură linie pe care va fi scris răspunsul la cerinţa din fișierul de intrare.
Restricții și precizări
- ;
- Numerele din șir au cel mult de cifre;
- Pentru puncte, și ;
- Pentru puncte, , , și numerele din șir au cel mult cifre;
- Pentru puncte, , și numerele din șir au cel mult cifre;
- Pentru puncte, , și numerele din șir au cel mult cifre;
- Pentru puncte, , și numerele din șir au cel mult cifre;
- Pentru puncte, , și numerele din șir au între și de cifre;
- Pentru puncte, , și numerele din șir au între și de cifre;
Exemplul 1
palindrom.in
1
5
12232
131
12345
0
7717
palindrom.out
7
Explicație
.
- Pentru a transforma în palindrom trebuie să adăugăm minimum două cifre ();
- Pentru trebuie să adăugăm minimum cifre ();
- Pentru trebuie să adăugăm minimum o cifră ();
- Numerele și sunt deja palindromuri.
În total .
Exemplul 2
palindrom.in
2
7
12232
131
12345
0
7717
1244
215809
4
palindrom.out
3
Explicație
, deci se pot adăuga maximum cifre.
Putem adăuga cele cifre numărului și obţinem o secvenţă de lungime formată numai din palindromuri ().
O altă variantă este de a adăuga o cifră la și două cifre la și obţinem tot o secvenţă de lungime formată numai din palindromuri ().
Pentru orice altă variantă, secvenţa de palindromuri obţinută are mai puțini termeni.