Pagini recente »
Diferențe pentru runda/oji-2023-antrenament-ffa între reviziile 20 și 19
|
Diferențe pentru runda/oji-2023-antrenament-ffa între reviziile 29 și 28
|
Istoria paginii runda/100v
|
Borderou de evaluare (job #135280)
|
Cod sursă (job #376956)
Cod sursă (job
#376956)
#include <fstream>
#include <cstring>
using namespace std;
ifstream in("bart.in");
ofstream out("bart.out");
char ch[500001];
int p[500001];
int main()
{
int i,j,vf=0;
in.get(ch+1,500001);
for(i=2; i<=strlen(ch+1); i++)
{
while(vf&&ch[i]!=ch[vf+1])
vf=p[vf];
if(ch[i]==ch[vf+1])
vf++;
p[i]=vf;
}
for(i=1;i<=strlen(ch+1)-p[strlen(ch+1)];i++)
{
out<<ch[i];
}
return 0;
}