Pagini recente » Cod sursa (job #3356493) | Cod sursa (job #3316150) | Cod sursa (job #3310216) | Cod sursa (job #3330783) | Cod sursa (job #3354013)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("prefix.in");
ofstream fout("prefix.out");
const int NMAX=1e6+1;
string s;
int tc, n;
int main(){
fin>>tc;
while(tc--){
fin>>s;
s=" "+s;
n=s.size();
int p[n+1]={};
int q=0;
for(int i=2;i<n;i++){
while(q>0&&s[q+1]!=s[i])
q=p[q];
if(s[q+1]==s[i])
q++;
p[i]=q;
}
int rez=0;
for(int i=n-1;i>1;i--){
int per=i-p[i];
if(i%per==0 && i/per>=2){
rez=i;
break;
}
}
fout<<rez<<'\n';
}
return 0;
}