Cod sursa(job #2759693)

Utilizator valentinchipuc123Valentin Chipuc valentinchipuc123 Data 19 iunie 2021 21:18:13
Problema Prefix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("prefix.in");
ofstream g("prefix.out");

int pi[1000005];

int main()
{
    int teste;

    f>>teste;

    while(teste--)
    {
        string s;
        f>>s;
        int n=s.size();

        s=" "+s;

        int j=0;
        int ans=0;

        for(int i=2; i<=n; i++)
        {
            while( j && s[j+1]!=s[i] )
                j=pi[j];

            if( s[j+1]==s[i] ) j++;

            pi[i]=j;

            if( j && i%(i - pi[i])==0 ) ans=i;
        }

        g<<ans<<'\n';
    }

    return 0;
}