Pagini recente »
Istoria paginii runda/2023-09-12-clasa-6-tema-1
|
Istoria paginii runda/2024-02-13-clasa-6-tema-20
|
superoji2
|
Istoria paginii runda/2019-09-19-clasa-7-tema-1
|
Cod sursă (job #531358)
Cod sursă (job
#531358)
#include<fstream>
#include<string.h>
using namespace std;
ifstream in("bart.in");
ofstream out("bart.out");
char s[500001];
int pi[500001];
int main()
{
int n,i,now;
in>>s+1;
n=strlen(s+1);
for(i=2;i<=n;i++)
{
now=pi[i-1];
while(now>0&&s[now+1]!=s[i])
now=pi[now];
if(s[now+1]==s[i])
now++;
pi[i]=now;
}
for(i=1;i<=n-pi[n];i++)
out<<s[i];
return 0;
}