#include <bits/stdc++.h>
using namespace std;
const int MAXN=1000005;
int N, nod, now, cmd;
int spt[MAXN][21], A[MAXN], L[MAXN];
char let[MAXN];
void Init() {}
void TypeLetter(char c) {
int i, p;
A[++cmd]=now;
let[++nod]=c;
L[nod]=L[now]+1;
spt[nod][0]=now;
now=nod;
for(i=1, p=now; ; i++){
if(spt[spt[p][i-1]][i-1]==0) break;
spt[p][i]=spt[spt[p][i-1]][i-1];
}
}
void UndoCommands(int U) {
A[++cmd]=now;
now=A[cmd-U];
}
char GetLetter(int P) {
int i, p=now, q=L[now]-P-1;
for(i=20; i>=0; i--)if((1<<i)&q){
p=spt[p][i];
}
return let[p];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
92976 KB |
Output is correct |
2 |
Correct |
0 ms |
92976 KB |
Output is correct |
3 |
Correct |
0 ms |
92976 KB |
Output is correct |
4 |
Correct |
0 ms |
92976 KB |
Output is correct |
5 |
Correct |
0 ms |
92976 KB |
Output is correct |
6 |
Correct |
0 ms |
92976 KB |
Output is correct |
7 |
Correct |
0 ms |
92976 KB |
Output is correct |
8 |
Correct |
0 ms |
92976 KB |
Output is correct |
9 |
Correct |
0 ms |
92976 KB |
Output is correct |
10 |
Correct |
0 ms |
92976 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
92976 KB |
Output is correct |
2 |
Correct |
0 ms |
92976 KB |
Output is correct |
3 |
Correct |
0 ms |
92976 KB |
Output is correct |
4 |
Correct |
0 ms |
92976 KB |
Output is correct |
5 |
Correct |
0 ms |
92976 KB |
Output is correct |
6 |
Correct |
0 ms |
92976 KB |
Output is correct |
7 |
Correct |
0 ms |
92976 KB |
Output is correct |
8 |
Correct |
0 ms |
92976 KB |
Output is correct |
9 |
Correct |
0 ms |
92976 KB |
Output is correct |
10 |
Correct |
0 ms |
92976 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
92976 KB |
Output is correct |
2 |
Correct |
0 ms |
92976 KB |
Output is correct |
3 |
Correct |
0 ms |
92976 KB |
Output is correct |
4 |
Correct |
0 ms |
92976 KB |
Output is correct |
5 |
Correct |
0 ms |
92976 KB |
Output is correct |
6 |
Correct |
0 ms |
92976 KB |
Output is correct |
7 |
Correct |
0 ms |
92976 KB |
Output is correct |
8 |
Correct |
0 ms |
92976 KB |
Output is correct |
9 |
Correct |
0 ms |
92976 KB |
Output is correct |
10 |
Correct |
0 ms |
92976 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
536 ms |
92976 KB |
Output is correct |
2 |
Correct |
633 ms |
92976 KB |
Output is correct |
3 |
Correct |
406 ms |
92976 KB |
Output is correct |
4 |
Correct |
333 ms |
92976 KB |
Output is correct |
5 |
Correct |
483 ms |
92976 KB |
Output is correct |
6 |
Correct |
319 ms |
92976 KB |
Output is correct |
7 |
Correct |
446 ms |
92976 KB |
Output is correct |
8 |
Correct |
416 ms |
92976 KB |
Output is correct |
9 |
Correct |
586 ms |
92976 KB |
Output is correct |
10 |
Correct |
166 ms |
92976 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
689 ms |
92976 KB |
Output is correct |
2 |
Correct |
636 ms |
92976 KB |
Output is correct |
3 |
Correct |
439 ms |
92976 KB |
Output is correct |
4 |
Correct |
356 ms |
92976 KB |
Output is correct |
5 |
Correct |
449 ms |
92976 KB |
Output is correct |
6 |
Correct |
399 ms |
92976 KB |
Output is correct |
7 |
Correct |
393 ms |
92976 KB |
Output is correct |
8 |
Correct |
649 ms |
92976 KB |
Output is correct |
9 |
Correct |
703 ms |
92976 KB |
Output is correct |
10 |
Correct |
159 ms |
92976 KB |
Output is correct |