Pagini recente »
Borderou de evaluare (job #127029)
|
Istoria paginii utilizator/sssssssss
|
Cod sursă (job #720018)
|
Cod sursă (job #819767)
|
Cod sursă (job #694435)
Cod sursă (job
#694435)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("bart.in");
ofstream cout("bart.out");
long long pi[4000005],v[2000005];
char a[4000005],b;
int main()
{
int n,aux,i,maxx=0,nr=0,x;
cin>>a;
n=strlen(a);
aux=n;
for(i=1;i<=n;i++){
x=pi[i-1];
while(x>0){
if(a[x]==a[i]){
pi[i]=x+1;
x=-1;
}
else
x=pi[x - 1];
}
if(x==0){
if(a[0]==a[i] && i!=0)
pi[i]=1;
else
pi[i]=0;
}
}
for(i=0;i<n-pi[n-1];i++)
cout<<a[i];
return 0;
}