#include<bits/stdc++.h>
struct caracter{int poz;char x;caracter *t[20];}*ans[1000010];
int nr;
void Init()
{
ans[0]=new caracter;
ans[0]->poz=-1;
ans[0]->x=0;
for(int i=0;i<20;++i)
ans[0]->t[i]=ans[0];
return;
}
void TypeLetter(char L)
{
++nr;
ans[nr]=new caracter;
ans[nr]->poz=ans[nr-1]->poz+1;
ans[nr]->x=L;
ans[nr]->t[0]=ans[nr-1];
for(int i=1;i<20;++i)
ans[nr]->t[i]=ans[nr]->t[i-1]->t[i-1];
}
void UndoCommands(int U)
{
++nr;
ans[nr]=ans[nr-U-1];
}
char GetLetter(int P)
{
caracter *ansac=ans[nr];
for(int i=0;i<20;++i)
{
if((1<<i)&(P-ansac->poz))
ansac=ansac->t[i];
}
return ansac->x;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
1 ms |
356 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
348 KB |
Output is correct |
7 |
Correct |
1 ms |
348 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
0 ms |
348 KB |
Output is correct |
10 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
348 KB |
Output is correct |
2 |
Correct |
0 ms |
596 KB |
Output is correct |
3 |
Correct |
0 ms |
348 KB |
Output is correct |
4 |
Correct |
0 ms |
348 KB |
Output is correct |
5 |
Correct |
1 ms |
348 KB |
Output is correct |
6 |
Correct |
0 ms |
348 KB |
Output is correct |
7 |
Correct |
0 ms |
348 KB |
Output is correct |
8 |
Correct |
0 ms |
348 KB |
Output is correct |
9 |
Correct |
0 ms |
448 KB |
Output is correct |
10 |
Correct |
0 ms |
348 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
600 KB |
Output is correct |
2 |
Correct |
1 ms |
604 KB |
Output is correct |
3 |
Correct |
1 ms |
744 KB |
Output is correct |
4 |
Correct |
1 ms |
860 KB |
Output is correct |
5 |
Correct |
1 ms |
604 KB |
Output is correct |
6 |
Correct |
1 ms |
1116 KB |
Output is correct |
7 |
Correct |
2 ms |
1116 KB |
Output is correct |
8 |
Correct |
1 ms |
860 KB |
Output is correct |
9 |
Correct |
1 ms |
860 KB |
Output is correct |
10 |
Correct |
1 ms |
604 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
311 ms |
110192 KB |
Output is correct |
2 |
Correct |
339 ms |
120916 KB |
Output is correct |
3 |
Correct |
255 ms |
119204 KB |
Output is correct |
4 |
Correct |
239 ms |
97204 KB |
Output is correct |
5 |
Correct |
345 ms |
104348 KB |
Output is correct |
6 |
Correct |
334 ms |
131020 KB |
Output is correct |
7 |
Correct |
354 ms |
66920 KB |
Output is correct |
8 |
Correct |
316 ms |
98268 KB |
Output is correct |
9 |
Correct |
391 ms |
133540 KB |
Output is correct |
10 |
Correct |
179 ms |
98848 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
392 ms |
95784 KB |
Output is correct |
2 |
Correct |
393 ms |
85908 KB |
Output is correct |
3 |
Correct |
245 ms |
93276 KB |
Output is correct |
4 |
Correct |
242 ms |
72348 KB |
Output is correct |
5 |
Correct |
270 ms |
100408 KB |
Output is correct |
6 |
Correct |
264 ms |
94804 KB |
Output is correct |
7 |
Correct |
339 ms |
101204 KB |
Output is correct |
8 |
Correct |
342 ms |
51552 KB |
Output is correct |
9 |
Correct |
431 ms |
87888 KB |
Output is correct |
10 |
Correct |
176 ms |
97872 KB |
Output is correct |