Pagini recente »
Istoria paginii runda/c1_oni_10/clasament
|
Istoria paginii runda/simulare_casi_11-12/clasament
|
Istoria paginii runda/simulare_casi_11-12/clasament
|
Borderou de evaluare (job #201101)
|
Cod sursă (job #377027)
Cod sursă (job
#377027)
#include <fstream>
#include <cstring>
using namespace std;
ifstream in ("bart.in");
ofstream out ("bart.out");
const int nmax=500000;
char s[nmax+1];
int pa[nmax+1];
int main()
{
in>>(s+1);
int n, k=0;
n=strlen(s+1);
for(int i=2; i<=n; i++)
{
if(k && s[i]!=s[k+1])
k=0;
if(s[i]==s[k+1])
k++;
pa[i]=k;
}
int xn=n-pa[n];
for(int i=1; i<=xn; i++)
out<<s[i];
return 0;
}