Pagini recente »
Borderou de evaluare (job #357777)
|
Cod sursă (job #343917)
|
Borderou de evaluare (job #508719)
|
Borderou de evaluare (job #508748)
|
Cod sursă (job #585151)
Cod sursă (job
#585151)
#include <iostream>
#include <fstream>
#include <cstring>
#define mac 500001
using namespace std;
ifstream fin("bart.in");
ofstream fout("bart.out");
char s[mac];
int lps[mac];
int mx=0;
int main()
{
fin.getline(s,mac);
int n=strlen(s);
int i=1, ln=0;
while(i<n)
{
if(s[i]==s[ln])
{
lps[i]=ln+1;
ln++;
i++;
}
else
{
if(ln!=0) ln=lps[ln-1];
else
{
lps[i]=0;
i++;
}
}
}
int nr=lps[n-1];
mx=n-nr;
for(int i=0;i<mx;i++)
fout<<s[i];
return 0;
}