Submission #114815

# Submission time Handle Problem Language Result Execution time Memory
114815 2019-06-03T04:34:52 Z Shafin666 Crayfish scrivener (IOI12_scrivener) C++14
34 / 100
52 ms 10104 KB
#include <iostream>

const int maxn = 1e5+10;
int state[maxn], parent[maxn][25];
int depth[maxn]; char letter[maxn];
int stat = 0, command = 0;

void Init() {}

void TypeLetter(char L) {
    stat++, command++;
    state[command] = stat;
    letter[stat] = L;

    int par = state[command - 1];
    depth[stat] = depth[par] + 1;
    parent[stat][0] = par;
    letter[stat] = L;

    for(int i = 1; i <= 19; i++)
        parent[stat][i] = parent[parent[stat][i-1]][i-1];
}

void UndoCommands(int U) {
    command++;
    state[command] = state[command - U - 1];
}

char GetLetter(int P) {
    int cur = state[command];
    P = depth[cur] - P - 1;

    for(int i = 0; i <= 19; i++)
        if(P & (1 << i))
            cur = parent[cur][i];

    return letter[cur];
}
# 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 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 384 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 384 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 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 384 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 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB Output is correct
2 Correct 3 ms 512 KB Output is correct
3 Correct 3 ms 512 KB Output is correct
4 Correct 3 ms 640 KB Output is correct
5 Correct 3 ms 512 KB Output is correct
6 Correct 3 ms 768 KB Output is correct
7 Correct 4 ms 768 KB Output is correct
8 Correct 3 ms 640 KB Output is correct
9 Correct 3 ms 640 KB Output is correct
10 Correct 3 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 42 ms 10104 KB Time limit exceeded (wall clock)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 52 ms 9720 KB Time limit exceeded (wall clock)
2 Halted 0 ms 0 KB -