Pagini recente » Cod sursa (job #2713425) | Cod sursa (job #2695631) | Cod sursa (job #2780096) | Cod sursa (job #1904464) | Cod sursa (job #2581052)
#include <bits/stdc++.h>
#define N 1000005
using namespace std;
ifstream fin("prefix.in");
ofstream fout("prefix.out");
int pi[N],m,n,cnt,t;
char a[N];
int main()
{
fin>>t;
for(int p=1;p<=t;p++)
{
fin>>a+1;
n=strlen(a+1);
int maxim=0,q=0;
pi[1]=0;
for(int i=2;i<=n;i++)
{
while (q && a[q+1] != a[i])
q=pi[q];
if (a[q+1]==a[i])q++;
pi[i] = q;
if(pi[i]!=0&&pi[i]%(i-pi[i])==0)maxim=i;
}
fout<<maxim<<'\n';
}
}