# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
935888 | 2024-02-29T18:19:52 Z | PagodePaiva | Crayfish scrivener (IOI12_scrivener) | C++17 | 1000 ms | 15780 KB |
#include<bits/stdc++.h> #pragma GCC optimize("03", "fast-math") #define N 1000005 using namespace std; int pai[N], h[N], jump[N], pos[N]; char letter[N]; int t; void Init() { t = 0; } void TypeLetter(char L) { t++; pai[t] = t-1; h[t] = h[t-1] + 1; letter[t] = L; pos[t] = pos[t-1]+1; int p = t-1; if(h[jump[p]] - h[p] == h[jump[jump[p]]] - h[jump[p]]){ jump[t] = jump[jump[p]]; } else{ jump[t] = p; } } void UndoCommands(int U) { t++; pai[t] = t-U-1; int p = pai[t]; h[t] = h[pai[t]] + 1; letter[t] = letter[p]; pos[t] = pos[p]; if(h[jump[p]] = h[p] == h[jump[jump[p]]] - h[jump[p]]){ jump[t] = jump[jump[p]]; } else{ jump[t] = p; } } char GetLetter(int P) { P++; int v = t; while(pos[v] > P){ if(pos[jump[v]] < P){ v = pai[v]; } else{ v = jump[v]; } } return letter[v]; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 0 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 1 ms | 2396 KB | Output is correct |
7 | Correct | 1 ms | 2396 KB | Output is correct |
8 | Correct | 1 ms | 2396 KB | Output is correct |
9 | Correct | 1 ms | 2396 KB | Output is correct |
10 | Correct | 1 ms | 2396 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 0 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2392 KB | Output is correct |
4 | Correct | 1 ms | 2392 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 1 ms | 2396 KB | Output is correct |
7 | Correct | 1 ms | 2396 KB | Output is correct |
8 | Correct | 1 ms | 2396 KB | Output is correct |
9 | Correct | 1 ms | 2396 KB | Output is correct |
10 | Correct | 0 ms | 2396 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2392 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 1 ms | 2392 KB | Output is correct |
7 | Correct | 1 ms | 2396 KB | Output is correct |
8 | Correct | 1 ms | 2396 KB | Output is correct |
9 | Correct | 2 ms | 2392 KB | Output is correct |
10 | Correct | 1 ms | 2396 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1051 ms | 15780 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1061 ms | 5624 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |