답안 #835290

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
835290 2023-08-23T11:52:45 Z Kerim 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++17
100 / 100
329 ms 70064 KB
#define MAXN 2000003
#include "bits/stdc++.h"
using namespace std;

const int LOGN=21;
int nd, now, P[MAXN][LOGN], lvl[MAXN];
vector<int> where;
char arr[MAXN];

void Init() {}

char get(int x){
  	int tmp = now;
	for(int i = LOGN-1; i>=0; i--)
		if (x >= (1<<i))
			tmp = P[tmp][i], x -= (1<<i);
	return arr[tmp];
}	

void TypeLetter(char L) {
  	int to = ++nd;
    arr[to] = L;
	P[to][0] = now;
  	lvl[to] = lvl[now]+1;
  	now = nd;
	for(int i=1;i<LOGN;i++)
		if(P[now][i-1])
			P[now][i]=P[P[now][i-1]][i-1];
 	where.push_back(now);
}

void UndoCommands(int U) {
	now = where[int(where.size())-U-1];
  	where.push_back(now);
}

char GetLetter(int P) {
	return get(lvl[now]-P-1);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 320 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 320 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 0 ms 320 KB Output is correct
9 Correct 1 ms 324 KB Output is correct
10 Correct 0 ms 320 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 316 KB Output is correct
5 Correct 1 ms 320 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 0 ms 212 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 596 KB Output is correct
2 Correct 1 ms 468 KB Output is correct
3 Correct 1 ms 468 KB Output is correct
4 Correct 1 ms 600 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 724 KB Output is correct
7 Correct 1 ms 596 KB Output is correct
8 Correct 1 ms 588 KB Output is correct
9 Correct 1 ms 592 KB Output is correct
10 Correct 1 ms 468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 255 ms 57492 KB Output is correct
2 Correct 277 ms 63380 KB Output is correct
3 Correct 234 ms 62956 KB Output is correct
4 Correct 225 ms 52540 KB Output is correct
5 Correct 242 ms 55416 KB Output is correct
6 Correct 224 ms 68468 KB Output is correct
7 Correct 243 ms 36988 KB Output is correct
8 Correct 216 ms 52508 KB Output is correct
9 Correct 310 ms 70064 KB Output is correct
10 Correct 160 ms 52152 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 281 ms 50420 KB Output is correct
2 Correct 329 ms 45780 KB Output is correct
3 Correct 236 ms 49900 KB Output is correct
4 Correct 236 ms 39728 KB Output is correct
5 Correct 215 ms 53504 KB Output is correct
6 Correct 209 ms 50456 KB Output is correct
7 Correct 230 ms 53624 KB Output is correct
8 Correct 267 ms 29132 KB Output is correct
9 Correct 316 ms 47188 KB Output is correct
10 Correct 156 ms 51760 KB Output is correct