# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
975761 | 2024-05-05T20:11:31 Z | marinaluca | 크레이피쉬 글쓰는 기계 (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){ ans[v[++k] = k] = L; rez[k] = rez[mat[0][k] = v[k - 1]] + 1; for (int 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]; for (int i = 20; i --;){ if (rez[mat[i][a]] > P) a = mat[i][a]; } return ans[a]; }