#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
int curr, last=-1, h[1000006], pa[20][1000006];
char C[1000006];
void add(int x, char c){
last++;
pa[0][last]=curr;
h[last]=h[curr]+1;
curr=last;
C[curr]=c;
for (int i=1; i<20; i++){
pa[i][curr]=pa[i-1][pa[i-1][curr]];
}
}
void roll_back(int t){
curr=++last;
h[curr]=h[t];
C[curr]=C[t];
for (int i=0; i<20; i++){
pa[i][curr]=pa[i][t];
}
}
int Kth_parent(int k){
int Pa=curr;
for (int i=19; i>=0; i--){
if(k&(1<<i))Pa=pa[i][Pa];
}
return C[Pa];
}
void Init() { h[0]=-1; }
string s;
void TypeLetter(char L) { add(curr, L); }
void UndoCommands(int U) { roll_back(last-U); }
char GetLetter(int P) { return Kth_parent(h[curr]-P); }
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
468 KB |
Output is correct |
2 |
Correct |
1 ms |
444 KB |
Output is correct |
3 |
Correct |
1 ms |
468 KB |
Output is correct |
4 |
Correct |
1 ms |
468 KB |
Output is correct |
5 |
Correct |
1 ms |
448 KB |
Output is correct |
6 |
Correct |
0 ms |
468 KB |
Output is correct |
7 |
Correct |
1 ms |
468 KB |
Output is correct |
8 |
Correct |
1 ms |
468 KB |
Output is correct |
9 |
Correct |
0 ms |
448 KB |
Output is correct |
10 |
Correct |
1 ms |
468 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 |
468 KB |
Output is correct |
5 |
Correct |
0 ms |
468 KB |
Output is correct |
6 |
Correct |
1 ms |
448 KB |
Output is correct |
7 |
Correct |
1 ms |
468 KB |
Output is correct |
8 |
Correct |
1 ms |
468 KB |
Output is correct |
9 |
Correct |
1 ms |
468 KB |
Output is correct |
10 |
Correct |
1 ms |
468 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
596 KB |
Output is correct |
2 |
Correct |
2 ms |
724 KB |
Output is correct |
3 |
Correct |
2 ms |
852 KB |
Output is correct |
4 |
Correct |
2 ms |
852 KB |
Output is correct |
5 |
Correct |
2 ms |
724 KB |
Output is correct |
6 |
Correct |
2 ms |
848 KB |
Output is correct |
7 |
Correct |
2 ms |
852 KB |
Output is correct |
8 |
Correct |
2 ms |
852 KB |
Output is correct |
9 |
Correct |
1 ms |
852 KB |
Output is correct |
10 |
Correct |
2 ms |
852 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
231 ms |
63704 KB |
Output is correct |
2 |
Correct |
261 ms |
77056 KB |
Output is correct |
3 |
Correct |
280 ms |
77292 KB |
Output is correct |
4 |
Correct |
356 ms |
82220 KB |
Output is correct |
5 |
Correct |
264 ms |
71864 KB |
Output is correct |
6 |
Correct |
213 ms |
83456 KB |
Output is correct |
7 |
Correct |
352 ms |
73636 KB |
Output is correct |
8 |
Correct |
308 ms |
81680 KB |
Output is correct |
9 |
Correct |
271 ms |
77920 KB |
Output is correct |
10 |
Correct |
185 ms |
86724 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
342 ms |
59520 KB |
Output is correct |
2 |
Correct |
397 ms |
52792 KB |
Output is correct |
3 |
Correct |
296 ms |
65888 KB |
Output is correct |
4 |
Correct |
325 ms |
59032 KB |
Output is correct |
5 |
Correct |
224 ms |
74944 KB |
Output is correct |
6 |
Correct |
235 ms |
77236 KB |
Output is correct |
7 |
Correct |
239 ms |
77132 KB |
Output is correct |
8 |
Correct |
436 ms |
66892 KB |
Output is correct |
9 |
Correct |
404 ms |
64344 KB |
Output is correct |
10 |
Correct |
189 ms |
85772 KB |
Output is correct |