Cod sursa(job #2189674)

Utilizator cc4infinityCojocaru Catalin cc4infinity Data 28 martie 2018 20:16:15
Problema Prefix Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;
int n,s1,i,j,l,t[1000003];
int main()
{
    ifstream fin("prefix.in");
    ofstream fout("prefix.out");
    fin>>n;
    for (i=1;i<=n;i++)
    {
        string s;
        fin>>s;
        s1=0;
        l=s.size();
        int k=0;
        for (j=1;j<l;j++)
        {
            while (s[j]!=s[k] && k>0) k=t[k-1];
            if (s[j]==s[k]) k++;
            t[j]=k;
            if (k>=(j+1)/2+(j+1)%2) s1=j+1-(j+1)%(j+1-k);
        }
        fout<<s1<<"\n";
    }
    return 0;
}