# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
99774 | 2019-03-07T03:39:50 Z | PeppaPig | Crayfish scrivener (IOI12_scrivener) | C++14 | 1000 ms | 129244 KB |
#include <bits/stdc++.h> using namespace std; const int N = 1e6+5; struct node { char d; int sz; node *par[20]; node() { } node(char d) : d(d) { for(int i = 0; i < 20; i++) par[i] = NULL; } }; int ptr; node* S[N]; void Init() { ptr = 0; S[0] = NULL; } void TypeLetter(char L) { ++ptr; S[ptr] = new node(L); S[ptr]->sz = S[ptr-1] ? S[ptr-1]->sz + 1 : 1; S[ptr]->par[0] = S[ptr-1]; for(int i = 1; i < 20; i++) if(S[ptr]->par[i-1]) S[ptr]->par[i] = S[ptr]->par[i-1]->par[i-1]; } void UndoCommands(int U) { S[++ptr] = S[ptr - U]; } char GetLetter(int P) { int d = S[ptr]->sz - P - 1; node* now = S[ptr]; for(int i = 19; ~i; i--) if(d >> i & 1) now = now->par[i]; return now->d; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 256 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 2 ms | 384 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 356 KB | Output is correct |
8 | Correct | 2 ms | 384 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 384 KB | Output is correct |
2 | Correct | 2 ms | 384 KB | Output is correct |
3 | Correct | 2 ms | 384 KB | Output is correct |
4 | Correct | 3 ms | 256 KB | Output is correct |
5 | Correct | 2 ms | 384 KB | Output is correct |
6 | Correct | 2 ms | 384 KB | Output is correct |
7 | Correct | 2 ms | 384 KB | Output is correct |
8 | Correct | 2 ms | 256 KB | Output is correct |
9 | Correct | 2 ms | 384 KB | Output is correct |
10 | Correct | 2 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 640 KB | Output is correct |
2 | Correct | 5 ms | 640 KB | Output is correct |
3 | Correct | 4 ms | 640 KB | Output is correct |
4 | Correct | 3 ms | 896 KB | Output is correct |
5 | Correct | 4 ms | 740 KB | Output is correct |
6 | Correct | 4 ms | 1024 KB | Output is correct |
7 | Correct | 4 ms | 1024 KB | Output is correct |
8 | Correct | 5 ms | 896 KB | Output is correct |
9 | Correct | 4 ms | 896 KB | Output is correct |
10 | Correct | 4 ms | 640 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 803 ms | 105984 KB | Output is correct |
2 | Correct | 803 ms | 117240 KB | Output is correct |
3 | Correct | 551 ms | 114844 KB | Output is correct |
4 | Correct | 467 ms | 91292 KB | Output is correct |
5 | Correct | 603 ms | 99704 KB | Output is correct |
6 | Correct | 637 ms | 126840 KB | Output is correct |
7 | Correct | 584 ms | 61024 KB | Output is correct |
8 | Correct | 793 ms | 93148 KB | Output is correct |
9 | Execution timed out | 1020 ms | 129244 KB | Time limit exceeded |
10 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 902 ms | 90020 KB | Output is correct |
2 | Correct | 963 ms | 78856 KB | Output is correct |
3 | Correct | 537 ms | 92620 KB | Output is correct |
4 | Correct | 462 ms | 71076 KB | Output is correct |
5 | Correct | 726 ms | 100844 KB | Output is correct |
6 | Correct | 633 ms | 94968 KB | Output is correct |
7 | Correct | 590 ms | 101076 KB | Output is correct |
8 | Correct | 756 ms | 51044 KB | Output is correct |
9 | Execution timed out | 1036 ms | 87152 KB | Time limit exceeded |
10 | Halted | 0 ms | 0 KB | - |