Cod sursă (job #709903)

Utilizator avatar laura2018 Laura Moldovan laura2018 IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp-32 | 0,48 kb
Rundă Arhiva de probleme Status evaluat
Dată 21 mar. 2023 11:41:58 Scor 100
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("bart.in");
ofstream fout("bart.out");
vector<int> pi;

int main()
{
    string s;
    fin>>s;
    int i,n=s.size(),k;
    pi.resize(n+1);
    for(i=1;i<n;i++)
    {
        k=pi[i-1];
        while(k && s[i]!=s[k])
            k=pi[k-1];
        if(s[i]==s[k])
            k++;
        pi[i]=k;
    }
    for(i=0;i<n-pi[n-1];i++)
        fout<<s[i];
    return 0;
}