Cod sursă (job #389125)

Utilizator avatar alex2209alex Pavel Alexandru alex2209alex IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,47 kb
Rundă Arhiva de probleme Status evaluat
Dată 15 sept. 2018 10:43:35 Scor 100
#include <fstream>
#include <cstring>

using namespace std;
ifstream f("bart.in");
ofstream g("bart.out");
char s[500002];
int v[500002],p,n,i;
int main()
{
    f>>(s+1);
    n=strlen(s+1);
    for(i=2;i<=n;i++)
    {
        while(p && s[i]!=s[p + 1])
        {
            p=v[p];
        }
        if(s[i]==s[p+1])
        {
            p++;
        }
        v[i]=p;
    }
    for(i=1;i<=n-v[n];i++)
    {
        g<<s[i];
    }
    return 0;
}