Pentru această operație este nevoie să te autentifici.

Cod sursă (job #441887)

Utilizator avatar TediDinuta Dinuta Eduard Stefan TediDinuta IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,42 kb
Rundă Arhiva de probleme Status evaluat
Dată 4 mar. 2019 14:20:57 Scor 100
#include <bits/stdc++.h>

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