Pagini recente » Cod sursa (job #1332798) | Cod sursa (job #2864414) | Cod sursa (job #2455074) | Cod sursa (job #1654083) | Cod sursa (job #341153)
Cod sursa(job #341153)
var s:array[1..1000000] of char;
pi:array[1..1000000] of longint;
t,contor,a,b,k,i,m:longint;
f,g:text;
begin
assign(f,'prefix.in');
assign(g,'prefix.out');
reset(f);rewrite(g);
readln(f,t);
for contor:=1 to t do
begin
readln(f,s);
pi[1]:=0;
k:=0;a:=0;
i:=2;
while s[i]<>#0 do
begin
while (k>0) and (s[k+1]<>s[i]) do
k:=pi[k];
if s[k+1]=s[i] then
k:=k+1;
pi[i]:=k;
if (k>0) and (i mod (i-k)=0) then
a:=i;
i:=i+1;
end;
writeln(g,a);
end;
close(f);close(g);
end.