답안 #62570

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
62570 2018-07-29T06:21:59 Z zetapi 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++14
100 / 100
770 ms 92456 KB
#include <bits/stdc++.h>
 
using namespace std;
 
const int N = 1000005;
 
int cur;
int cnt1, cnt2;
int h[N];
int par[20][N];
int arr[N];
char a[N];
 
void Init() {}
 
void TypeLetter(char L) {
	++cnt1;
	par[0][cnt1] = cur, h[cnt1] = h[cur] + 1;
	cur = cnt1, a[cur] = L;
	for (int i = 1; i < 20; ++i) {
		par[i][cur] = par[i - 1][par[i - 1][cur]];
	}
	arr[++cnt2] = cur;
}
 
void UndoCommands(int U) {
	cur = arr[cnt2 + 1] = arr[cnt2 - U];
	++cnt2;
}
 
char GetLetter(int P) {
	int pos = cur;
	int H = h[cur] - (P + 1);
	for (int i = 19; i >= 0; --i) {
		if (H >= (1 << i)) {
			H -= (1 << i), pos = par[i][pos];
		}
	}
	return a[pos];
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 504 KB Output is correct
2 Correct 3 ms 616 KB Output is correct
3 Correct 3 ms 724 KB Output is correct
4 Correct 3 ms 724 KB Output is correct
5 Correct 3 ms 724 KB Output is correct
6 Correct 3 ms 724 KB Output is correct
7 Correct 3 ms 808 KB Output is correct
8 Correct 4 ms 808 KB Output is correct
9 Correct 3 ms 808 KB Output is correct
10 Correct 4 ms 808 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 808 KB Output is correct
2 Correct 3 ms 808 KB Output is correct
3 Correct 3 ms 808 KB Output is correct
4 Correct 3 ms 808 KB Output is correct
5 Correct 4 ms 808 KB Output is correct
6 Correct 3 ms 808 KB Output is correct
7 Correct 4 ms 808 KB Output is correct
8 Correct 4 ms 808 KB Output is correct
9 Correct 4 ms 808 KB Output is correct
10 Correct 3 ms 808 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 876 KB Output is correct
2 Correct 5 ms 880 KB Output is correct
3 Correct 5 ms 880 KB Output is correct
4 Correct 5 ms 1004 KB Output is correct
5 Correct 5 ms 1004 KB Output is correct
6 Correct 5 ms 1132 KB Output is correct
7 Correct 5 ms 1132 KB Output is correct
8 Correct 4 ms 1132 KB Output is correct
9 Correct 4 ms 1132 KB Output is correct
10 Correct 5 ms 1132 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 465 ms 52036 KB Output is correct
2 Correct 513 ms 57324 KB Output is correct
3 Correct 486 ms 57324 KB Output is correct
4 Correct 412 ms 57324 KB Output is correct
5 Correct 518 ms 57324 KB Output is correct
6 Correct 377 ms 62164 KB Output is correct
7 Correct 466 ms 62164 KB Output is correct
8 Correct 396 ms 62164 KB Output is correct
9 Correct 437 ms 63272 KB Output is correct
10 Correct 258 ms 63272 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 614 ms 63272 KB Output is correct
2 Correct 770 ms 63272 KB Output is correct
3 Correct 522 ms 63272 KB Output is correct
4 Correct 468 ms 63272 KB Output is correct
5 Correct 336 ms 69220 KB Output is correct
6 Correct 380 ms 70928 KB Output is correct
7 Correct 338 ms 78460 KB Output is correct
8 Correct 567 ms 78460 KB Output is correct
9 Correct 586 ms 82864 KB Output is correct
10 Correct 256 ms 92456 KB Output is correct