# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
975766 | 2024-05-05T20:13:14 Z | marinaluca | Crayfish scrivener (IOI12_scrivener) | C++14 | 0 ms | 0 KB |
char ans[1000010]; int v[1000010], rez[1000010], mat[20][1000010], k; void Init(){} void Typeletter (char L){ int i; ans[v[++k] = k] = L; rez[k] = rez[mat[0][k] = v[k - 1]] + 1; for (i = 1; i < 20; ++ i) mat[i][k] = mat[i - 1][mat[i - 1][k]]; } void UndoCommands(int U){v[++k] = v[k - U - 1];} char GetLetter(int P){ int a = v[k], i; for ( i = 20; i --;) if (rez[mat[i][a]] > P) a = mat[i][a]; return ans[a]; }