Fișierul intrare/ieșire hiccup.in, hiccup.out Sursă Olimpiada pe scoala 2015
Autor Cristian Frâncu Adăugată de avatar Isabela_coman Coman Isabela Patricia Isabela_coman
Timp de execuție pe test 1 sec Limită de memorie 3072 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 3 categorii