답안 #118497

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
118497 2019-06-19T05:56:43 Z win11905 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++11
100 / 100
787 ms 63504 KB
#include <bits/stdc++.h>
using namespace std;

const int N = 1e6+1;

int step, ptr;
int par[N][20];
char val[N];
int sz[N], pos[N];

void Init() { }

void TypeLetter(char L) {
  val[++ptr] = L;
  par[ptr][0] = pos[step];
  sz[step+1] = sz[step];
  for(int i = 1; i < 20; ++i) par[ptr][i] = par[par[ptr][i-1]][i-1];
  sz[++step]++;
  pos[step] = ptr;
}

void UndoCommands(int U) {
  pos[step+1] = pos[step-U];
  sz[step+1] = sz[step-U];
  step++;
}

char GetLetter(int P) {
  int jump = sz[step] - P - 1;
  int p = pos[step];
  for(int i = 19; ~i; --i) if(jump >> i & 1) p = par[p][i];
  return val[p];
}
# 결과 실행 시간 메모리 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 3 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
# 결과 실행 시간 메모리 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 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
# 결과 실행 시간 메모리 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 640 KB Output is correct
7 Correct 6 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
# 결과 실행 시간 메모리 Grader output
1 Correct 582 ms 52060 KB Output is correct
2 Correct 627 ms 57848 KB Output is correct
3 Correct 387 ms 56616 KB Output is correct
4 Correct 378 ms 46072 KB Output is correct
5 Correct 459 ms 49784 KB Output is correct
6 Correct 320 ms 62712 KB Output is correct
7 Correct 504 ms 32180 KB Output is correct
8 Correct 461 ms 47096 KB Output is correct
9 Correct 651 ms 63504 KB Output is correct
10 Correct 187 ms 48056 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 631 ms 44624 KB Output is correct
2 Correct 713 ms 39444 KB Output is correct
3 Correct 353 ms 43644 KB Output is correct
4 Correct 346 ms 32888 KB Output is correct
5 Correct 375 ms 48120 KB Output is correct
6 Correct 390 ms 45688 KB Output is correct
7 Correct 406 ms 48580 KB Output is correct
8 Correct 584 ms 24284 KB Output is correct
9 Correct 787 ms 41136 KB Output is correct
10 Correct 186 ms 47608 KB Output is correct