Cod sursă (job #239629)

Utilizator avatar heyanca Anca Badiu heyanca IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,45 kb
Rundă Arhiva de probleme Status evaluat
Dată 6 mai 2016 16:27:01 Scor 100
#include <fstream>
#include <cstring>

using namespace std;

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

#define MAX 500001

char s[MAX];
int n, a[MAX], k;

int main()
{
    fin >> (s + 1);
    n = strlen(s + 1);

    for(int i = 2; i <= n; i++)
    {
        while(k > 0 && s[k+1] != s[i])k = a[k];
        if(s[k+1] == s[i])k++;
        a[i]=k;
    }
    for(int i = 1;i <= n - a[n]; i++)fout << s[i];
    return 0;
}