Fişierul intrare/ieşire: | prefixe.in, prefixe.out | Sursă | ONIS 2014, Runda Finala |
Autor | Stefan Ciobaca | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Prefixe
După cum ştiţi, lui Gigel îi plac cifrele 0 şi 1. În această problemă, îi place şi cifra 2. El analizează un şir de caractere T format doar din 0, 1 şi 2 şi este fascinat de şabloanele pe care le observă în şir. Caracterul T1 este primul caracter al şirului, T2 al doilea, etc. Şirul are lungime N.
Gigel este interesat de prefixele T1, ..., Ti ale acestui şir (1 ≤ i ≤ N). El observă că un astfel de prefix de lungime i are la rândul lui anume prefixe care îi sunt şi sufixe. De exemplu, dacă T = 0101012 şi i = 5, în prefixul 01010 se găseşte prefixul 010 care este şi sufix. Vă roagă să gasiţi pentru fiecare prefix T1, ..., Ti lungimea celui mai mare prefix diferit de T1, ..., Ti care este şi sufix al T1, ..., Ti.
Date de intrare
Fişierul de intrare prefixe.in conţine pe prima linie numărul Z de teste. Urmează Z linii, fiecare cu câte un test. Un test constă dintr-un şir format din 0, 1 şi 2.
Date de ieşire
În fişierul de ieşire prefixe.out afişaţi pentru fiecare prefix T1, ..., Ti al şirului dat la intrare lungimea celui mai mare prefix diferit de T1, ..., Ti care este şi sufix pentru T1, ..., Ti. Lungimile trebuie separate prin spaţii.
Restricţii
- 1 ≤ N ≤ 131072
- 1 ≤ Z ≤ 128
Exemplu
prefixe.in | prefixe.out |
---|---|
1 010010010010 | 0 0 1 1 2 3 4 5 6 7 8 9 |
Explicaţie
Pentru T1...T5, prefixul T1,T2 este egal cu sufixul T4,5, deci al 5-lea număr de la ieşire este 2, lungimea şirului T1,T2.