#include <bits/stdc++.h>
using namespace std;
vector S(1,vector<int>(20,0)); vector<char> C(1,'@');
void Init(){}
void TypeLetter(char c){
S.emplace_back(20,S.size()-1);
if (C[S.back()[0]]=='_') S.back()[0] = S[S.back()[0]][0];
for (int i(1);i < 20;++i) S.back()[i] = S[S.back()[i-1]][i-1];
C.emplace_back(c);
}
void UndoCommands(int x){
S.emplace_back(20,S.size()-1-x);
if (C[S.back()[0]]=='_') S.back()[0] = S[S.back()[0]][0];
for (int i(1);i < 20;++i) S.back()[i] = S[S.back()[i-1]][i-1];
C.emplace_back('_');
}
char GetLetter(int x){
int n = 0,m = S.size()-1; for (int i(19);i > -1;--i) if (C[S[m][i]]!='@') m = S[m][i],n |= 1<<i;
m = S.size()-1; for (int i(0);i < 20;++i) if (((n-x)>>i)&1) m = S[m][i];
return C[m];
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |