Cod sursă (job #376662)

Utilizator avatar mircearoata Mircea Roata Palade mircearoata IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,45 kb
Rundă Arhiva de probleme Status evaluat
Dată 10 apr. 2018 18:48:00 Scor 20
#include <fstream>
#include <cstring>

using namespace std;

ifstream in("bart.in");
ofstream out("bart.out");

char ch[500001];
int pre[500001];

int l;

int main()
{
    in>>ch;
    for(int i=1;i<strlen(ch);i++)
    {
        while(l>0 && ch[l]!=ch[i])
            l=pre[l];
        if(ch[l]==ch[i])
            l++;
        pre[i]=l;
    }
    for(int i = 0;i<strlen(ch)-pre[strlen(ch)-1];i++)
        out<<ch[i];
    return 0;
}