Cod sursă (job #585150)

Utilizator avatar Mihai_Eduard Mihai Eduard Mihai_Eduard IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp-32 | 0,50 kb
Rundă Arhiva de probleme Status evaluat
Dată 9 mar. 2021 11:33:55 Scor 100
#include <iostream>
#include <fstream>
#include <string>

#define MX 500005

using namespace std;

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

int n, poz, pref[MX];
string s;

int main()
{
    fin>>s;
    n=s.size();
    s=' '+s;
    for(int i=2;i<=n;i++)
    {
        while(poz!=0 and s[i]!=s[poz+1])
            poz=pref[poz];
        if(s[i]==s[poz+1])
            poz++;
        pref[i]=poz;
    }
    for(int i=1;i<=n-pref[n];i++)
        fout<<s[i];

    return 0;
}