Pagini recente »
Istoria paginii runda/concurs_01_iq_academy_clasa_9/clasament
|
Clasament lasm_03_04_2019_10_12
|
Istoria paginii runda/2024-09-10-clasa-6-tema-08/clasament
|
2015-02-17-clasa-8-tema-19
|
Cod sursă (job #600446)
Cod sursă (job
#600446)
#include <fstream>
#include <climits>
#define NMAX 500005
using namespace std;
ifstream f("bart.in");
ofstream g("bart.out");
int last;
int pi[NMAX];
string str;
int main()
{
f >> str;
str = str + str[0];
pi[0] = -1;
for (int i = 1; i < str.size(); i++) {
int k = pi[i - 1];
while (k != -1 && str[i - 1] != str[k]) {
k = pi[k];
}
pi[i] = k + 1;
}
for (int i = 0; i < str.size() - pi[str.size() - 1] - 1; i++)
g << str[i];
return 0;
}