Pagini recente »
2024-03-10-clasa-8-tema-21
|
2014-01-22-clasa-6-tema-19
|
Atașamentele paginii Clasament ne-antrenam
|
Istoria paginii runda/tabara2016
|
Cod sursă (job #529795)
Cod sursă (job
#529795)
#include <fstream>
#include <cstring>
using namespace std;
ifstream cin("bart.in");
ofstream cout("bart.out");
char v[500005];
int pi[500005];
int main()
{
int i , j , n , cur;
cin >> (v + 1);
n = strlen(v + 1);
for(i = 2; i <= n; i++)
{
cur = pi[i - 1];
while(cur && v[i] != v[cur + 1])
cur = pi[cur];
if(v[i] == v[cur + 1])
cur++;
pi[i] = cur;
}
for(i = 1; i <= n - pi[n]; i++)
cout << v[i];
return 0;
}