답안 #79088

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
79088 2018-10-11T04:12:45 Z TAMREF 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++11
100 / 100
585 ms 115688 KB
#include <bits/stdc++.h>
using namespace std;
const int mx = 1e6 + 5;
const int lg = 20;
int D[mx], I[mx];
char X[mx];
int p[mx][lg];
int n;

void Init() {
}

void TypeLetter(char L) {
    ++n;
    I[n] = n; X[n] = L;
    p[n][0] = I[n-1];
    D[n] = D[I[n-1]] + 1;
    for(int j = 1; 1 << j <= D[n]; j++){
        p[n][j] = p[p[n][j-1]][j-1];
    }
}

void UndoCommands(int U) {
    ++n;
    I[n] = I[n - 1 - U];
}

char GetLetter(int P) {
    ++P;
    int b = I[n], dlt = D[b] - P;
    for(int j = 0; j < lg; j++){
        if(dlt >> j & 1) b = p[b][j];
    }
    return X[b];
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 512 KB Output is correct
3 Correct 2 ms 512 KB Output is correct
4 Correct 2 ms 512 KB Output is correct
5 Correct 7 ms 512 KB Output is correct
6 Correct 2 ms 512 KB Output is correct
7 Correct 2 ms 512 KB Output is correct
8 Correct 2 ms 532 KB Output is correct
9 Correct 2 ms 536 KB Output is correct
10 Correct 2 ms 536 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 544 KB Output is correct
2 Correct 2 ms 572 KB Output is correct
3 Correct 2 ms 572 KB Output is correct
4 Correct 2 ms 612 KB Output is correct
5 Correct 2 ms 644 KB Output is correct
6 Correct 2 ms 680 KB Output is correct
7 Correct 2 ms 808 KB Output is correct
8 Correct 3 ms 808 KB Output is correct
9 Correct 2 ms 808 KB Output is correct
10 Correct 2 ms 808 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 840 KB Output is correct
2 Correct 3 ms 980 KB Output is correct
3 Correct 4 ms 1136 KB Output is correct
4 Correct 5 ms 1160 KB Output is correct
5 Correct 3 ms 1160 KB Output is correct
6 Correct 4 ms 1212 KB Output is correct
7 Correct 4 ms 1236 KB Output is correct
8 Correct 3 ms 1260 KB Output is correct
9 Correct 4 ms 1280 KB Output is correct
10 Correct 4 ms 1280 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 469 ms 63616 KB Output is correct
2 Correct 491 ms 80128 KB Output is correct
3 Correct 394 ms 80128 KB Output is correct
4 Correct 381 ms 83164 KB Output is correct
5 Correct 412 ms 83164 KB Output is correct
6 Correct 399 ms 86556 KB Output is correct
7 Correct 439 ms 86556 KB Output is correct
8 Correct 458 ms 90552 KB Output is correct
9 Correct 531 ms 91840 KB Output is correct
10 Correct 240 ms 105500 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 486 ms 105500 KB Output is correct
2 Correct 585 ms 105500 KB Output is correct
3 Correct 377 ms 105500 KB Output is correct
4 Correct 392 ms 105500 KB Output is correct
5 Correct 375 ms 105500 KB Output is correct
6 Correct 370 ms 105500 KB Output is correct
7 Correct 377 ms 105500 KB Output is correct
8 Correct 547 ms 105500 KB Output is correct
9 Correct 570 ms 105500 KB Output is correct
10 Correct 241 ms 115688 KB Output is correct