#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<(n); i++)
const int N=1000000;
vector<int> indexs;
int ver=1;
vector<array<int,32>> inf_stack(N);
vector<char> lets(N);
vector<int> lens(N);
void Init() {
lets[0]=' ';
lens[0]=0;
rep(i,32)inf_stack[0][i]=0;
indexs.push_back(0);
}
void TypeLetter(char L) {
lets[ver]=L;
lens[ver]=lens[indexs.back()]+1;
inf_stack[ver][0]=indexs.back();
indexs.push_back(ver);
for(int i=1; i<32; i++){
inf_stack[ver][i]=inf_stack[inf_stack[ver][i-1]][i-1];
}
ver++;
}
void UndoCommands(int U) {
indexs.push_back(indexs[indexs.size()-U-1]);
}
char GetLetter(int P) {
int back=lens[indexs.back()]-P-1;
int pos=indexs.back();
rep(i,32){
if(back&1){
pos=inf_stack[pos][i];
}
back/=2;
}
return lets[pos];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
48 ms |
130384 KB |
Output is correct |
2 |
Correct |
57 ms |
130384 KB |
Output is correct |
3 |
Correct |
38 ms |
130356 KB |
Output is correct |
4 |
Correct |
36 ms |
130384 KB |
Output is correct |
5 |
Correct |
37 ms |
130436 KB |
Output is correct |
6 |
Correct |
37 ms |
130328 KB |
Output is correct |
7 |
Correct |
39 ms |
130388 KB |
Output is correct |
8 |
Correct |
37 ms |
130388 KB |
Output is correct |
9 |
Correct |
38 ms |
130384 KB |
Output is correct |
10 |
Correct |
37 ms |
130388 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
38 ms |
130384 KB |
Output is correct |
2 |
Correct |
38 ms |
130384 KB |
Output is correct |
3 |
Correct |
37 ms |
130388 KB |
Output is correct |
4 |
Correct |
37 ms |
130384 KB |
Output is correct |
5 |
Correct |
37 ms |
130384 KB |
Output is correct |
6 |
Correct |
37 ms |
130388 KB |
Output is correct |
7 |
Correct |
38 ms |
130392 KB |
Output is correct |
8 |
Correct |
37 ms |
130496 KB |
Output is correct |
9 |
Correct |
37 ms |
130388 KB |
Output is correct |
10 |
Correct |
37 ms |
130384 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
38 ms |
130568 KB |
Output is correct |
2 |
Correct |
38 ms |
130644 KB |
Output is correct |
3 |
Correct |
37 ms |
130640 KB |
Output is correct |
4 |
Correct |
39 ms |
130640 KB |
Output is correct |
5 |
Correct |
37 ms |
130640 KB |
Output is correct |
6 |
Correct |
38 ms |
130640 KB |
Output is correct |
7 |
Correct |
38 ms |
130644 KB |
Output is correct |
8 |
Correct |
44 ms |
130644 KB |
Output is correct |
9 |
Correct |
38 ms |
130644 KB |
Output is correct |
10 |
Correct |
39 ms |
130652 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
310 ms |
137428 KB |
Output is correct |
2 |
Correct |
338 ms |
138484 KB |
Output is correct |
3 |
Correct |
270 ms |
138944 KB |
Output is correct |
4 |
Correct |
265 ms |
141132 KB |
Output is correct |
5 |
Correct |
285 ms |
138940 KB |
Output is correct |
6 |
Correct |
277 ms |
138524 KB |
Output is correct |
7 |
Correct |
240 ms |
139928 KB |
Output is correct |
8 |
Correct |
258 ms |
139724 KB |
Output is correct |
9 |
Correct |
344 ms |
138588 KB |
Output is correct |
10 |
Correct |
202 ms |
138436 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
343 ms |
138956 KB |
Output is correct |
2 |
Correct |
317 ms |
140492 KB |
Output is correct |
3 |
Correct |
255 ms |
139208 KB |
Output is correct |
4 |
Correct |
320 ms |
141004 KB |
Output is correct |
5 |
Correct |
245 ms |
138696 KB |
Output is correct |
6 |
Correct |
271 ms |
138684 KB |
Output is correct |
7 |
Correct |
251 ms |
138948 KB |
Output is correct |
8 |
Correct |
304 ms |
139924 KB |
Output is correct |
9 |
Correct |
335 ms |
139464 KB |
Output is correct |
10 |
Correct |
230 ms |
138640 KB |
Output is correct |