#include <bits/stdc++.h>
using namespace std;
int par[1000005][20], len[1000005], n;
char c[1000005];
void Init()
{
}
void TypeLetter(char L)
{
n++;
c[n]=L;
len[n]=len[n-1]+1;
par[n][0]=n-1;
for (int i=1; i<20; i++)
par[n][i]=par[par[n][i-1]][i-1];
}
void UndoCommands(int U)
{
n++;
c[n]=c[n-U-1];
len[n]=len[n-U-1];
for (int i=0; i<20; i++)
par[n][i]=par[n-U-1][i];
}
char GetLetter(int P)
{
int cur=n, diff=len[n]-P-1;
for (int i=0; i<20; i++)
if (diff&(1<<i))
cur=par[cur][i];
return c[cur];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
312 KB |
Output is correct |
3 |
Correct |
1 ms |
340 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
212 KB |
Output is correct |
6 |
Correct |
0 ms |
308 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
312 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
212 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
212 KB |
Output is correct |
2 |
Correct |
1 ms |
312 KB |
Output is correct |
3 |
Correct |
1 ms |
212 KB |
Output is correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
316 KB |
Output is correct |
6 |
Correct |
1 ms |
212 KB |
Output is correct |
7 |
Correct |
1 ms |
212 KB |
Output is correct |
8 |
Correct |
1 ms |
212 KB |
Output is correct |
9 |
Correct |
1 ms |
212 KB |
Output is correct |
10 |
Correct |
1 ms |
312 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
468 KB |
Output is correct |
2 |
Correct |
2 ms |
596 KB |
Output is correct |
3 |
Correct |
2 ms |
596 KB |
Output is correct |
4 |
Correct |
2 ms |
724 KB |
Output is correct |
5 |
Correct |
2 ms |
592 KB |
Output is correct |
6 |
Correct |
2 ms |
724 KB |
Output is correct |
7 |
Correct |
2 ms |
596 KB |
Output is correct |
8 |
Correct |
2 ms |
724 KB |
Output is correct |
9 |
Correct |
2 ms |
724 KB |
Output is correct |
10 |
Correct |
2 ms |
724 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
327 ms |
63492 KB |
Output is correct |
2 |
Correct |
350 ms |
76936 KB |
Output is correct |
3 |
Correct |
304 ms |
77156 KB |
Output is correct |
4 |
Correct |
329 ms |
82144 KB |
Output is correct |
5 |
Correct |
331 ms |
71800 KB |
Output is correct |
6 |
Correct |
283 ms |
83276 KB |
Output is correct |
7 |
Correct |
372 ms |
73576 KB |
Output is correct |
8 |
Correct |
326 ms |
81696 KB |
Output is correct |
9 |
Correct |
350 ms |
77832 KB |
Output is correct |
10 |
Correct |
223 ms |
86676 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
350 ms |
59376 KB |
Output is correct |
2 |
Correct |
374 ms |
52720 KB |
Output is correct |
3 |
Correct |
307 ms |
65680 KB |
Output is correct |
4 |
Correct |
316 ms |
58864 KB |
Output is correct |
5 |
Correct |
292 ms |
74780 KB |
Output is correct |
6 |
Correct |
313 ms |
77156 KB |
Output is correct |
7 |
Correct |
316 ms |
77164 KB |
Output is correct |
8 |
Correct |
413 ms |
66860 KB |
Output is correct |
9 |
Correct |
401 ms |
64124 KB |
Output is correct |
10 |
Correct |
233 ms |
85664 KB |
Output is correct |