Submission #189074

#TimeUsernameProblemLanguageResultExecution timeMemory
189074AQTCrayfish scrivener (IOI12_scrivener)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; struct node{ int p; int len; char c; }; node arr[1000005]; int crnt = 0, idx = 0; int tbl[20][1000005]; void Init(){ arr[0] = {-1, 0, ' '}; } void add(int idx){ for(int d = 1; d<20; d++){ tbl[d][idx] = tbl[d-1][tbl[d-1][idx]]; } } void TypeLetter(char c){ arr[++idx] = {crnt, arr[crnt].len+1, c}; tbl[0][idx] = crnt; add(idx); crnt = idx; } void UndoCommands(int u){ int k = crnt; while(u--){ crnt = arr[crnt].p; } arr[++idx] = arr[crnt]; arr[idx].p = k; add(idx); crnt = idx; } char GetLetter(int p){ int t = crnt; p++; for(int d = 19; d>=0; d--){ if(arr[tbl[d][t]].len >= p){ t = tbl[d][t]; } } return arr[t].c; } int main(){ Init(); TypeLetter('a'); TypeLetter('b'); cout << GetLetter(1) << endl; TypeLetter('d'); UndoCommands(2); UndoCommands(1); cout << GetLetter(2) << endl; TypeLetter('e'); UndoCommands(1); UndoCommands(5); TypeLetter('c'); cout << GetLetter(2) << endl; UndoCommands(2); cout << GetLetter(2) << endl; }

Compilation message (stderr)

/tmp/ccQJgOS4.o: In function `main':
scrivener.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cc4uI461.o:grader.cpp:(.text.startup+0x0): first defined here
collect2: error: ld returned 1 exit status