Fișierul intrare/ieșire | hiccup.in, hiccup.out | Sursă | Olimpiada pe scoala 2015 |
---|---|---|---|
Autor | Cristian Frâncu | Adăugată de | Coman Isabela Patricia • Isabela_coman |
Timp de execuție pe test | 1 sec | Limită de memorie | 3072 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Hiccup (clasa a 7-a)
Deoarece laptopul lui Hiccup a venit preinstalat cu diabolicul sistem de operare Macrohard Doors el a pierdut toate numerele de telefon din agenda sa păstrată într-un fișier pe disc. Încercînd să regăsească numărul iubitei sale Astrid, el a folosit un program de recuperare numit dd (Dumb Data). După ce a rulat o zi și o noapte, programul a putut recupera din agendă doar cifrele, pe care le-a scris sub forma unui șir într-un fișier, afișînd apoi pe ecran un mesaj în care specifica un număr de control pentru operația de salvare realizată. Acel număr de control reprezintă suma tuturor cifrelor recuperate.
Hiccup este însă ferm convins că numărul lui Astrid este acolo. El își aduce aminte că numărul ei folosește fix K cifre distincte, repetate ori de cîte ori. De asemenea speră că numărul nu a fost fragmentat și împrăștiat, fiind o secvență de cifre una după alta, astfel încît el poate fi căutat în șirul de cifre obținut.
Cerință
Hiccup fiind obișnuit mai mult cu dragonii decît cu calculatoarele vă roagă pe voi să găsiți în noianul de cifre secvențele de lungime maximă formate din K cifre distincte repetate, în speranța că printre ele se află numărul de telefon al lui Astrid. El ar vrea de asemenea să verifice numărul de control afișat pe ecran de programul de recuperare dd.
Date de intrare
Fișierul de intrare hiccup.in conține două linii. Pe prima linie se află K, numărul de cifre distincte din care este format numărul lui Astrid (care se pot repeta). Pe a doua linie se află cifrele recuperate din agendă, fără spații între ele. Ambele linii se termină cu caracterul sfîrșit de linie.
Date de ieșire
Fișierul de ieșire hiccup.out va conține pe prima linie numărul de control x afisat de programul de recuperare iar pe a doua linie lungimea numărului de lungime maximă format din exact K cifre repetate. Dacă nu există nici un astfel de număr lungimea se consideră zero (iar Hiccup va fi foarte, foarte trist).
Restricții
- 1 ≤ lungimea șirului de cifre ≤ 4.000.000
- 1 ≤ K ≤ 10
- Zero este o cifră validă cu care poate să înceapă un număr de telefon, ea neavînd nici un fel de proprietăți speciale.
- Se acordă punctaje parțiale, astfel: 20% pentru cifra de control, 80% pentru lungimea maximă.
- Pentru a obține punctaje parțiale trebuie să afișați răspunsul pe linia corespunzătoare.
- Pentru 50% din teste șirul va avea maxim 200 000 de cifre.
- Pentru 80% din teste șirul va avea maxim 2 000 000 de cifre.
- Dimensiunea maximă a sursei: 10Kb
Exemplu
hiccup.in | hiccup.out | Explicație |
---|---|---|
2 12123233 |
17 5 |
Suma cifrelor recuperate este 17. Numărul cel mai lung care este format din două cifre este 23233, avînd lungime 5. Următorul este 1212 dar are lungime mai mică, 4. |
3 02920992020102010201020020303 |
52 19 |
Suma cifrelor recuperate este 52. Numărul cel mai lung format din trei cifre repetate este 2020102010201020020 și începe la poziția 8. El are lungime 19. |