Fişierul intrare/ieşire: | ordine.in, ordine.out | Sursă | preONI 2008 Runda 1 |
Autor | Adrian Airinei | Adăugată de | |
Timp execuţie pe test | 0.3 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Ordine
Se da un sir de caractere format din litere mici ale alfabetului englez (caractere de la 'a' la 'z'). Se cere sa se obtina cea mai mica anagrama din punct de vedere lexicografic a sirului cu proprietatea ca oricare doua caractere adiacente din anagrama sunt diferite. O anagrama a sirului initial este un sir care contine exact acealasi caractere, dar posibil in alta ordine. Doua caractere se numesc adiacente daca sunt alaturate (primul caracter este adiacent cu al doilea, al doilea cu al treilea etc). Se garanteaza faptul ca exista intotdeauna solutie.
Date de intrare
Pe prima linie a fisierului de intrare ordine.in se gaseste sirul initial de caractere.
Date de iesire
Pe prima linie a fisierului de iesire ordine.out se afla cea mai mica anagrama din punct de vedere lexicografic a sirului initial.
Restrictii
- 1 ≤ lungimea sirului ≤ 1 000 000
- Un sir X este mai mic din punct de vedere lexicografic decat un sir Y daca exista un k astfel incat Xi=Yi pentru orice i<k si Xk<Yk
Exemplu
ordine.in | ordine.out |
---|---|
cbab | abcb |