Cod sursa(job #2581048)

Utilizator levladiatorDragutoiu Vlad-Ioan levladiator Data 14 martie 2020 14:27:58
Problema Prefix Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
#define N 1000005
using namespace std;
ifstream fin("prefix.in");
ofstream fout("prefix.out");

int pi[N],m,n,cnt,t;
char a[N];

int prefix()
{
	int i, q = 0, maxim = 0;

	pi[1] = 0;


	return maxim;
}
int main()
{
    fin>>t;
    char car;
    fin>>noskipws>>car;
    for(int p=1;p<=t;p++)
    {
        int maxim=0,q=0;
        pi[1]=0;
        n=1;
        fin>>noskipws>>a[1]>>car;
        while(car!='\n')
        {
            a[++n]=car;

            while (q && a[q+1] != a[n])
                q=pi[q];

            if (a[q+1]==a[n])q++;

            pi[n] = q;

            if(pi[n]!=0&&pi[n]%(n-pi[n])==0)maxim=n;

            fin>>noskipws>>car;
        }
        fout<<maxim<<'\n';
    }
}