int NodeNum, Anc[1000001][30], OrderNum, Order[1000001], Lev[1000001];
char A[1000001];
void Init(void)
{
}
void TypeLetter(char L)
{
int i;
NodeNum++;
A[NodeNum]=L;
Anc[NodeNum][0]=Order[OrderNum];
Lev[NodeNum]=Lev[Order[OrderNum]]+1;
i=1;
while(Anc[Anc[NodeNum][i-1]][i-1])
{
Anc[NodeNum][i]=Anc[Anc[NodeNum][i-1]][i-1];
i++;
}
OrderNum++;
Order[OrderNum]=NodeNum;
}
void UndoCommands(int U)
{
OrderNum++;
Order[OrderNum]=Order[OrderNum-U-1];
}
char GetLetter(int P)
{
int N, Now, Cnt=0;
N=Lev[Order[OrderNum]]-P-1;
Now=Order[OrderNum];
while(N)
{
if(N&1)
Now=Anc[Now][Cnt];
Cnt++;
N>>=1;
}
return A[Now];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
127056 KB |
Output is correct |
2 |
Correct |
0 ms |
127056 KB |
Output is correct |
3 |
Correct |
0 ms |
127056 KB |
Output is correct |
4 |
Correct |
0 ms |
127056 KB |
Output is correct |
5 |
Correct |
0 ms |
127056 KB |
Output is correct |
6 |
Correct |
0 ms |
127056 KB |
Output is correct |
7 |
Correct |
0 ms |
127056 KB |
Output is correct |
8 |
Correct |
0 ms |
127056 KB |
Output is correct |
9 |
Correct |
0 ms |
127056 KB |
Output is correct |
10 |
Correct |
0 ms |
127056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
127056 KB |
Output is correct |
2 |
Correct |
0 ms |
127056 KB |
Output is correct |
3 |
Correct |
0 ms |
127056 KB |
Output is correct |
4 |
Correct |
0 ms |
127056 KB |
Output is correct |
5 |
Correct |
0 ms |
127056 KB |
Output is correct |
6 |
Correct |
0 ms |
127056 KB |
Output is correct |
7 |
Correct |
0 ms |
127056 KB |
Output is correct |
8 |
Correct |
0 ms |
127056 KB |
Output is correct |
9 |
Correct |
0 ms |
127056 KB |
Output is correct |
10 |
Correct |
0 ms |
127056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
127056 KB |
Output is correct |
2 |
Correct |
0 ms |
127056 KB |
Output is correct |
3 |
Correct |
0 ms |
127056 KB |
Output is correct |
4 |
Correct |
0 ms |
127056 KB |
Output is correct |
5 |
Correct |
0 ms |
127056 KB |
Output is correct |
6 |
Correct |
0 ms |
127056 KB |
Output is correct |
7 |
Correct |
0 ms |
127056 KB |
Output is correct |
8 |
Correct |
0 ms |
127056 KB |
Output is correct |
9 |
Correct |
0 ms |
127056 KB |
Output is correct |
10 |
Correct |
0 ms |
127056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
388 ms |
127056 KB |
Output is correct |
2 |
Correct |
396 ms |
127056 KB |
Output is correct |
3 |
Correct |
328 ms |
127056 KB |
Output is correct |
4 |
Correct |
312 ms |
127056 KB |
Output is correct |
5 |
Correct |
384 ms |
127056 KB |
Output is correct |
6 |
Correct |
372 ms |
127056 KB |
Output is correct |
7 |
Correct |
352 ms |
127056 KB |
Output is correct |
8 |
Correct |
348 ms |
127056 KB |
Output is correct |
9 |
Correct |
460 ms |
127056 KB |
Output is correct |
10 |
Correct |
192 ms |
127056 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
436 ms |
127056 KB |
Output is correct |
2 |
Correct |
424 ms |
127056 KB |
Output is correct |
3 |
Correct |
308 ms |
127056 KB |
Output is correct |
4 |
Correct |
344 ms |
127056 KB |
Output is correct |
5 |
Correct |
336 ms |
127056 KB |
Output is correct |
6 |
Correct |
296 ms |
127056 KB |
Output is correct |
7 |
Correct |
340 ms |
127056 KB |
Output is correct |
8 |
Correct |
420 ms |
127056 KB |
Output is correct |
9 |
Correct |
504 ms |
127056 KB |
Output is correct |
10 |
Correct |
180 ms |
127056 KB |
Output is correct |