Pentru această operație este nevoie să te autentifici.
Cod sursă (job #710421)
Utilizator |
|
IP | ascuns |
---|---|---|---|
Problemă | Bart (clasele 9-10) | Compilator | cpp-32 | 0,54 kb |
Rundă | Arhiva de probleme | Status | evaluat |
Dată | 23 mar. 2023 10:41:56 | Scor | 70 |
#include <fstream>
using namespace std;
ifstream fin("bart.in");
ofstream fout("bart.out");
int pi[500005];
string str;
int main()
{
ios_base::sync_with_stdio(false);
fin >> str;
int n = str.size() - 1;
for(int i = 1; i <= n; i++)
{
int k = pi[i - 1];
while(k && str[k] != str[i])
k = pi[k];
if(str[k] == str[i])
k++;
pi[i] = k;
}
int period = n - pi[n];
for(int i = 0; i <= period; i++)
fout << str[i];
return 0;
}