#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
const int maxl=20;
char c[maxn];
vector<int> node;
int cnt=0,cur=0;
int dep[maxn],par[maxn][maxl];
void Init() {}
void TypeLetter(char L) {
cnt++;par[cnt][0]=cur;
for(int i=1;i<maxl;i++) par[cnt][i]=par[par[cnt][i-1]][i-1];
dep[cnt]=dep[cur]+1;c[cnt]=L;
cur=cnt;node.push_back(cur);
//cout << cur << '\n';
}
void UndoCommands(int U) {
cur=node[(int)node.size()-U-1];
node.push_back(cur);
//cout << cur << '\n';
}
char GetLetter(int k) {
k=dep[cur]-k-1;
int cc=cur;
for(int i=0;i<maxl;i++) if(k&(1<<i)) cc=par[cc][i];
return c[cc];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
320 KB |
Output is correct |
6 |
Correct |
1 ms |
320 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
316 KB |
Output is correct |
9 |
Correct |
0 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
320 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
0 ms |
212 KB |
Output is correct |
5 |
Correct |
0 ms |
212 KB |
Output is correct |
6 |
Correct |
0 ms |
212 KB |
Output is correct |
7 |
Correct |
0 ms |
212 KB |
Output is correct |
8 |
Correct |
0 ms |
212 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
0 ms |
316 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
468 KB |
Output is correct |
2 |
Correct |
1 ms |
468 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
1 ms |
596 KB |
Output is correct |
5 |
Correct |
1 ms |
468 KB |
Output is correct |
6 |
Correct |
1 ms |
716 KB |
Output is correct |
7 |
Correct |
1 ms |
596 KB |
Output is correct |
8 |
Correct |
1 ms |
596 KB |
Output is correct |
9 |
Correct |
1 ms |
596 KB |
Output is correct |
10 |
Correct |
2 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
223 ms |
55220 KB |
Output is correct |
2 |
Correct |
320 ms |
60900 KB |
Output is correct |
3 |
Correct |
233 ms |
60508 KB |
Output is correct |
4 |
Correct |
253 ms |
50516 KB |
Output is correct |
5 |
Correct |
234 ms |
53296 KB |
Output is correct |
6 |
Correct |
205 ms |
65872 KB |
Output is correct |
7 |
Correct |
214 ms |
35756 KB |
Output is correct |
8 |
Correct |
204 ms |
50600 KB |
Output is correct |
9 |
Correct |
288 ms |
67312 KB |
Output is correct |
10 |
Correct |
168 ms |
50208 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
265 ms |
48496 KB |
Output is correct |
2 |
Correct |
294 ms |
44048 KB |
Output is correct |
3 |
Correct |
221 ms |
48056 KB |
Output is correct |
4 |
Correct |
217 ms |
38364 KB |
Output is correct |
5 |
Correct |
215 ms |
51472 KB |
Output is correct |
6 |
Correct |
198 ms |
48684 KB |
Output is correct |
7 |
Correct |
204 ms |
51548 KB |
Output is correct |
8 |
Correct |
234 ms |
28296 KB |
Output is correct |
9 |
Correct |
333 ms |
45524 KB |
Output is correct |
10 |
Correct |
170 ms |
49812 KB |
Output is correct |