Pagini recente » Cod sursa (job #1060849) | Cod sursa (job #1263847) | Cod sursa (job #31564) | Cod sursa (job #1358766) | Cod sursa (job #861389)
Cod sursa(job #861389)
#include<iostream>
#include<string>
using namespace std;
string s;
int c[1000005],v[1000005],i,n,k;
int main()
{
cin >> s;
n=s.length();
for (i=n;i>=1;i--)
s[i]=s[i-1];
for (i=2;i<=n;i++)
{
k=c[i-1];
while ((s[k+1]!=s[i]) && (k!=0))
k=c[k];
if (s[k+1]==s[i])
{
c[i]=k+1;
v[k+1]++;
}
}
k=c[n];
v[k]--;
while ((v[k]==0) && (k!=0))
k=c[k];
if (k==0)
cout << "Just a legend";
else cout << s.substr(1,k);
return 0;
}