int go[1000005],len[1000005],t=1,par[1000005][20];
char al[1000005];
void Init(){}
void TypeLetter(char L)
{
al[t]=L;
len[t]=len[go[t-1]]+1;
par[t][0]=go[t-1];
int u=1;
while(1)
{
if(len[t]>=(1<<u)){
par[t][u]=par[par[t][u-1]][u-1];
u++;
}
else break;
}
go[t]=t;
t++;
}
void UndoCommands(int U)
{
go[t]=go[t-U-1];
t++;
}
char GetLetter(int P)
{
int o=len[go[t-1]];
o=o-P-1;
if(o==0)return al[go[t-1]];
int u=0,h=go[t-1];
while(o)
{
if(o%2)
{
h=par[h][u];
}
o/=2;
u++;
}
return al[h];
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
87988 KB |
Output is correct |
2 |
Correct |
0 ms |
87988 KB |
Output is correct |
3 |
Correct |
0 ms |
87988 KB |
Output is correct |
4 |
Correct |
0 ms |
87988 KB |
Output is correct |
5 |
Correct |
0 ms |
87988 KB |
Output is correct |
6 |
Correct |
0 ms |
87988 KB |
Output is correct |
7 |
Correct |
0 ms |
87988 KB |
Output is correct |
8 |
Correct |
0 ms |
87988 KB |
Output is correct |
9 |
Correct |
0 ms |
87988 KB |
Output is correct |
10 |
Correct |
0 ms |
87988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
87988 KB |
Output is correct |
2 |
Correct |
0 ms |
87988 KB |
Output is correct |
3 |
Correct |
0 ms |
87988 KB |
Output is correct |
4 |
Correct |
0 ms |
87988 KB |
Output is correct |
5 |
Correct |
0 ms |
87988 KB |
Output is correct |
6 |
Correct |
0 ms |
87988 KB |
Output is correct |
7 |
Correct |
0 ms |
87988 KB |
Output is correct |
8 |
Correct |
0 ms |
87988 KB |
Output is correct |
9 |
Correct |
0 ms |
87988 KB |
Output is correct |
10 |
Correct |
0 ms |
87988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
87988 KB |
Output is correct |
2 |
Correct |
0 ms |
87988 KB |
Output is correct |
3 |
Correct |
0 ms |
87988 KB |
Output is correct |
4 |
Correct |
2 ms |
87988 KB |
Output is correct |
5 |
Correct |
0 ms |
87988 KB |
Output is correct |
6 |
Correct |
2 ms |
87988 KB |
Output is correct |
7 |
Correct |
0 ms |
87988 KB |
Output is correct |
8 |
Correct |
0 ms |
87988 KB |
Output is correct |
9 |
Correct |
0 ms |
87988 KB |
Output is correct |
10 |
Correct |
0 ms |
87988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
305 ms |
87988 KB |
Output is correct |
2 |
Correct |
321 ms |
87988 KB |
Output is correct |
3 |
Correct |
277 ms |
87988 KB |
Output is correct |
4 |
Correct |
265 ms |
87988 KB |
Output is correct |
5 |
Correct |
333 ms |
87988 KB |
Output is correct |
6 |
Correct |
312 ms |
87988 KB |
Output is correct |
7 |
Correct |
344 ms |
87988 KB |
Output is correct |
8 |
Correct |
312 ms |
87988 KB |
Output is correct |
9 |
Correct |
359 ms |
87988 KB |
Output is correct |
10 |
Correct |
195 ms |
87988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
318 ms |
87988 KB |
Output is correct |
2 |
Correct |
375 ms |
87988 KB |
Output is correct |
3 |
Correct |
272 ms |
87988 KB |
Output is correct |
4 |
Correct |
300 ms |
87988 KB |
Output is correct |
5 |
Correct |
291 ms |
87988 KB |
Output is correct |
6 |
Correct |
296 ms |
87988 KB |
Output is correct |
7 |
Correct |
304 ms |
87988 KB |
Output is correct |
8 |
Correct |
369 ms |
87988 KB |
Output is correct |
9 |
Correct |
408 ms |
87988 KB |
Output is correct |
10 |
Correct |
198 ms |
87988 KB |
Output is correct |