Pagini recente »
Istoria paginii runda/s20_lab1_10
|
Cod sursă (job #676980)
Cod sursă (job
#676980)
#include <fstream>
#pragma GCC optimize ("O1")
#pragma GCC optimize ("O2")
#pragma GCC optimize ("O3")
#pragma GCC optimize ("O4")
#pragma GCC optimize ("unroll-loops")
#pragma GCC optimize ("Ofast")
using namespace std;
ifstream cin("bart.in");
ofstream cout("bart.out");
int pi[500005];
string s;
void build(int x)
{
pi[x]=pi[x-1];
while(pi[x]>0 && s[x]!=s[pi[x]])
pi[x]=pi[pi[x]];
if(s[x]==s[pi[x]])
pi[x]++;
}
int main()
{
cin>>s;
s="#"+s;
for(int i=2;i<s.size();i++)
build(i);
for(int i=1;i<s.size()-pi[s.size()-1];i++)
cout<<s[i];
}