Pagini recente »
Istoria paginii utilizator/andrei_serban04
|
Istoria paginii utilizator/tudormega9999
|
Istoria paginii utilizator/pikagamerchu
|
Istoria paginii utilizator/louissimi
|
Cod sursă (job #530130)
Cod sursă (job
#530130)
#include <bits/stdc++.h>
using namespace std;
char sir[500005];
int pref[500005];
int main()
{
ifstream cin("bart.in");
ofstream cout("bart.out");
int n,i,k;
cin>>sir+1;
n=strlen(sir+1);
k=0;
pref[1]=0;
for(i=2;i<=n;i++){
while(k>0 && sir[k+1]!=sir[i])
k=pref[k];
if(sir[k+1]==sir[i])
k++;
pref[i]=k;
}
for(i=1;i<=n-pref[n];i++){
cout<<sir[i];
}
return 0;
}