Pentru această operație este nevoie să te autentifici.
Cod sursă (job #416513)
Utilizator |
|
IP | ascuns |
---|---|---|---|
Problemă | Bart (clasele 9-10) | Compilator | cpp | 0,54 kb |
Rundă | concurs_6_10 | Status | evaluat |
Dată | 6 ian. 2019 16:02:08 | Scor | 70 |
#include <bits/stdc++.h>
using namespace std;
char a[500100];
int n,k,poz;
int p[500100];
int main()
{
freopen("bart.in", "r", stdin);
freopen("bart.out", "w", stdout);
cin>>(a+1);
n=strlen(a+1);
int j=0;
int i=2;
p[1]=0;
while(i<=n)
{
while(a[i]!=a[j+1]&&j>0) j=p[j];
if(a[i]==a[j+1]) j++;
p[i]=j;
i++;
}
for(int i=n;i>=1;i--)
if(p[i]==1)
{
poz=i-1;
break;
}
for(int i=1;i<=poz;i++) cout<<a[i];
return 0;
}