Pagini recente »
Clasament 2021-04-04-pregatire-osepi2
|
Istoria paginii runda/vaslui_cls78_17.11
|
Istoria paginii runda/c4_5/clasament
|
Istoria paginii runda/c1_oni_9/clasament
|
Cod sursă (job #377521)
Cod sursă (job
#377521)
#include <fstream>
#include <string>
using namespace std;
ifstream f("bart.in");
ofstream g("bart.out");
string s;
int repet[500002];
int main() {
int n, curent=0, i, pos=1;
f>>s;
n=s.size();
for(i=1; i<=n; i++) {
while (curent && (s[curent]!=s[pos])) {
curent=repet[curent-1];
}
if (s[curent]==s[pos]){
curent++;
}
repet[pos++]=curent;
}
s[n-repet[n-1]]='\0';
g<<s;
return 0;
}