Pagini recente »
Tema 4 clasele 9-10
|
Istoria paginii runda/2024-03-26-clasa-6-tema-25/clasament
|
Istoria paginii runda/2021-10-20-clasa-7-tema-05
|
Istoria paginii runda/2022-09-21-clasa-6-tema-02/clasament
|
Cod sursă (job #676697)
Cod sursă (job
#676697)
#pragma GCC optimize("O1")
#pragma GCC optimize("O2")
#pragma GCC optimize("O3")
#pragma GCC optimize("O4")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
ifstream in("bart.in");
ofstream out("bart.out");
char a[500005];
int pi[500005],n;
int main()
{
char ch;
while (in >> ch)
a[n++] = ch;
if (n == 1)
{
out << a[0];
return 0;
}
for (int i = 1; i < n; i++)
{
pi[i] = pi[i - 1];
while (pi[i] != 0 and a[pi[i]] != a[i])
pi[i] = pi[pi[i]];
if (a[i] == a[pi[i]])
pi[i]++;
}
int lg = n - pi[n - 1];
for (int i = 0; i < lg; i++)
out << a[i];
return 0;
}