Cod sursă (job #226161)

Utilizator avatar Stefan50 Popa Stefan-Andrei Stefan50 IP ascuns
Problemă Bart (clasele 9-10) Compilator cpp | 0,37 kb
Rundă Arhiva de probleme Status evaluat
Dată 19 mar. 2016 20:26:30 Scor 100
#include <fstream>
#define Xp 500012
#include <cstring>
using namespace std;
ifstream f("bart.in");
ofstream g("bart.out");
int p[Xp],l,i,k;
char s[Xp];
void kmp()
{
p[1]=0;
for(i=2;i<=l;++i)
{
while(k>0&&s[k+1]!=s[i]) k=p[k];
if(s[k+1]==s[i]) ++k;
p[i]=k;
}
}
int main()
{
f.get(s+1,Xp);
l=strlen(s+1);
kmp();
for(i=1;i<=l-p[l];++i) g<<s[i];
return 0;
}