Cod sursa(job #3354013)

Utilizator mariusharabariMarius Harabari mariusharabari Data 13 mai 2026 19:38:14
Problema Prefix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#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;
}