Cod sursa(job #3156117)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 10 octombrie 2023 17:04:23
Problema Prefix Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<fstream>
using namespace std;
ifstream f("prefix.in");
ofstream o("prefix.out");
int k[1<<20],n,i,j;
char s[1<<20];
int main()
{
    for(f>>i;f>>s;) {
        for(i=1,j=0;s[i];++i)
            if(s[i]==s[j])
                k[i]=++j;
            else
                k[i]=j=(s[i]==s[0]);
        for(;i;--i)
            if(k[i-1]&&i%(i-k[i-1])==0)
                break;
        o<<i<<'\n';
    }
    return 0;
}