Pagini recente » Cod sursa (job #476235) | Cod sursa (job #1426240) | Cod sursa (job #2698219) | Cod sursa (job #2401623) | Cod sursa (job #2606803)
#include<bits/stdc++.h>
using namespace std;
int vet[1000002];
char a[1000002];
int main(){
int i,j,n,m,q,t,max=0;
cin>>t;
for(j=0;j<t;j++){
cin>>a+1;
m=strlen(a+1);
vet[1]=0;
q=0;
for(i=2;i<=m;i++){
while(q>0&&a[q+1]!=a[i])
q=vet[q];
if(a[q+1]==a[i])
q++;
vet[i]=q;
}
for(i=m;i>=1;i--){
if(vet[i]>0&&i%(i-vet[i])==0){
max=i;
break;
}
}
cout<<max<<endl;
}
}