Submission #12683

# Submission time Handle Problem Language Result Execution time Memory
12683 2014-12-29T04:43:17 Z gs14004 Crayfish scrivener (IOI12_scrivener) C++
60 / 100
1000 ms 84092 KB
char ops[1000005];
int prev[1000005][20], size[1000005], sz;

void Init(){
    
}

void TypeLetter(char L){
    int p = sz;
    ops[p] = L;
    if(p) prev[p][0] = p-1;
    for (int i=1; prev[p][i-1]; i++) {
        prev[p][i] = prev[prev[p][i-1]][i-1];
    }
    size[p] = size[prev[p][0]]+1;
    sz++;
}

void UndoCommands(int U){
    int p = sz;
    prev[p][0] = p-U-1;
    for (int i=1; prev[p][i-1]; i++) {
        prev[p][i] = prev[prev[p][i-1]][i-1];
    }
    size[p] = size[prev[p][0]];
    sz++;
}

char GetLetter(int P){
    int pos = sz-1;
    int obj = P+1;
    for (int i=19; i>=0; i--) {
        if(size[prev[pos][i]] >= obj){
            pos = prev[pos][i];
        }
    }
    return ops[pos];
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 84092 KB Output is correct
2 Correct 0 ms 84092 KB Output is correct
3 Correct 0 ms 84092 KB Output is correct
4 Correct 0 ms 84092 KB Output is correct
5 Correct 0 ms 84092 KB Output is correct
6 Correct 0 ms 84092 KB Output is correct
7 Correct 0 ms 84092 KB Output is correct
8 Correct 0 ms 84092 KB Output is correct
9 Correct 0 ms 84092 KB Output is correct
10 Correct 0 ms 84092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 84092 KB Output is correct
2 Correct 0 ms 84092 KB Output is correct
3 Correct 0 ms 84092 KB Output is correct
4 Correct 0 ms 84092 KB Output is correct
5 Correct 0 ms 84092 KB Output is correct
6 Correct 0 ms 84092 KB Output is correct
7 Correct 0 ms 84092 KB Output is correct
8 Correct 0 ms 84092 KB Output is correct
9 Correct 0 ms 84092 KB Output is correct
10 Correct 0 ms 84092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 84092 KB Output is correct
2 Correct 0 ms 84092 KB Output is correct
3 Correct 0 ms 84092 KB Output is correct
4 Correct 0 ms 84092 KB Output is correct
5 Correct 0 ms 84092 KB Output is correct
6 Correct 0 ms 84092 KB Output is correct
7 Correct 0 ms 84092 KB Output is correct
8 Correct 0 ms 84092 KB Output is correct
9 Correct 0 ms 84092 KB Output is correct
10 Correct 0 ms 84092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 456 ms 84092 KB Output is correct
2 Correct 500 ms 84092 KB Output is correct
3 Correct 396 ms 84092 KB Output is correct
4 Correct 436 ms 84092 KB Output is correct
5 Correct 452 ms 84092 KB Output is correct
6 Correct 324 ms 84092 KB Output is correct
7 Correct 956 ms 84092 KB Output is correct
8 Correct 900 ms 84092 KB Output is correct
9 Correct 536 ms 84092 KB Output is correct
10 Correct 216 ms 84092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 628 ms 84092 KB Output is correct
2 Correct 744 ms 84092 KB Output is correct
3 Correct 420 ms 84092 KB Output is correct
4 Correct 496 ms 84092 KB Output is correct
5 Correct 476 ms 84092 KB Output is correct
6 Correct 488 ms 84092 KB Output is correct
7 Correct 500 ms 84092 KB Output is correct
8 Execution timed out 1000 ms 84092 KB Program timed out
9 Halted 0 ms 0 KB -