Cod sursa(job #3329034)

Utilizator jarnea_justinjarnea justin ioan jarnea_justin Data 11 decembrie 2025 16:26:20
Problema Prefix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
#define mod 666013
#define int long long
using namespace std;
ifstream f("prefix.in");
ofstream g("prefix.out");
string a;
int lps[1000005],t;
void buildprefix()
{
    int k=0;
    int mx=0;
    int n=a.size();
    for(int i=2;i<=n;i++)
    {
        while(k && a[k]!=a[i-1])
            k=lps[k];
        if(a[k]==a[i-1])
            k++;
        lps[i]=k;
        if(lps[i]>0 && i%(i-lps[i])==0)
            mx=i;
    }
    for(int i=1;i<n;i++)
        lps[i]=0;
    g<<mx<<'\n';
}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    f>>t;
    for(int i=1;i<=t;i++)
    {
        f>>a;
        buildprefix();
    }
    return 0;
}