Pagini recente »
Istoria paginii utilizator/raduamaistroaie
|
Istoria paginii utilizator/calinflorea
|
simulareoni2022editia2
|
Istoria paginii utilizator/marateodorescu11
|
Cod sursă (job #94170)
Cod sursă (job
#94170)
#include <cstdio>
using namespace std;
const int N=500000;
char p[N+1];
int jmen[N+1],m,n;
void preprocesare()
{
int k,q;
jmen[0]=0;
k=0;
for (q=1;q<m;q++)
{
while ((k > 0) && (p[k] != p[q]))
k = jmen[k - 1];
if (p[k] == p[q])
k++;
jmen[q] = k;
}
}
int main()
{
FILE *in,*out;
in=fopen("bart.in","r");
out=fopen("bart.out","w");
int i,j,ras=0,ok=0;
fscanf(in,"%s",&p);
i=0;
while(p[i]!=0)
i++;
m=i;
preprocesare();
for(i=0;i<m-1;i++)
{
if(jmen[i]!=jmen[i+1]-1)
ras=i+1;
}
for(i=0;i<=ras;i++)
fprintf(out,"%c",p[i]);
return 0;
}