Cod sursă (job #377045)

Utilizator avatar RaduPatra Radu Patra RaduPatra IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,44 kb
Rundă Arhiva de probleme Status evaluat
Dată 12 apr. 2018 19:24:04 Scor 100
#include <fstream>
#include <cstring>
using namespace std;
ifstream in ("bart.in");
ofstream out ("bart.out");
char s[500001];
int a[500001],i,t,n;
int main()
{
    in>>(s+1);
    n=strlen(s+1);
    for (i=2; i<=n; i++)///xyzxyzxy
    {
        while(t>0 && s[i]!=s[t+1])
            t=a[t];

        if (s[i]==s[t+1])
            t++;
        a[i]=t;
    }
    for (i=1; i<=n-a[n]; i++)
        out<<s[i];
    return 0;
}