답안 #96314

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
96314 2019-02-08T10:23:09 Z figter001 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++14
100 / 100
671 ms 97912 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
const int maxn = 1e6+50;

char last;

struct node{
	char c;
	int up[21],sz;
	node(){
		c = 0;
		sz = 0;
		memset(up,-1,sizeof(up));
	}
}v[maxn];
int cur;

void Init(){}

void TypeLetter(char L) {
	cur++;
	v[cur].c = L;
	v[cur].up[0] = cur-1;
	v[cur].sz = v[cur-1].sz + 1;
	int tmp = cur-1;
	for(int i=1;i<20;i++){
		if(tmp == -1)break;
		v[cur].up[i] = v[tmp].up[i-1];
		tmp = v[tmp].up[i-1];
	}
}

void UndoCommands(int U) {
	cur++;
	v[cur] = v[cur-U-1];
}

char GetLetter(int P) {
	int m = v[cur].sz - P - 1;
	int tmp = cur;
	for(int i=20;i>=0;i--){
		if((m>>i) & 1)tmp = v[tmp].up[i];
	}
  	return v[tmp].c;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 69 ms 90364 KB Output is correct
2 Correct 69 ms 90488 KB Output is correct
3 Correct 68 ms 90488 KB Output is correct
4 Correct 70 ms 90264 KB Output is correct
5 Correct 79 ms 90360 KB Output is correct
6 Correct 67 ms 90360 KB Output is correct
7 Correct 69 ms 90360 KB Output is correct
8 Correct 69 ms 90460 KB Output is correct
9 Correct 74 ms 90360 KB Output is correct
10 Correct 68 ms 90372 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 66 ms 90360 KB Output is correct
2 Correct 69 ms 90360 KB Output is correct
3 Correct 67 ms 90360 KB Output is correct
4 Correct 65 ms 90448 KB Output is correct
5 Correct 61 ms 90360 KB Output is correct
6 Correct 60 ms 90360 KB Output is correct
7 Correct 74 ms 90360 KB Output is correct
8 Correct 59 ms 90360 KB Output is correct
9 Correct 68 ms 90360 KB Output is correct
10 Correct 68 ms 90360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 65 ms 90488 KB Output is correct
2 Correct 70 ms 90360 KB Output is correct
3 Correct 61 ms 90360 KB Output is correct
4 Correct 60 ms 90336 KB Output is correct
5 Correct 59 ms 90364 KB Output is correct
6 Correct 69 ms 90360 KB Output is correct
7 Correct 61 ms 90488 KB Output is correct
8 Correct 68 ms 90360 KB Output is correct
9 Correct 69 ms 90360 KB Output is correct
10 Correct 70 ms 90360 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 448 ms 94352 KB Output is correct
2 Correct 527 ms 94456 KB Output is correct
3 Correct 419 ms 95224 KB Output is correct
4 Correct 465 ms 96760 KB Output is correct
5 Correct 488 ms 95480 KB Output is correct
6 Correct 374 ms 94712 KB Output is correct
7 Correct 497 ms 96632 KB Output is correct
8 Correct 522 ms 95880 KB Output is correct
9 Correct 513 ms 95160 KB Output is correct
10 Correct 205 ms 94460 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 671 ms 95300 KB Output is correct
2 Correct 616 ms 96636 KB Output is correct
3 Correct 337 ms 96120 KB Output is correct
4 Correct 378 ms 97912 KB Output is correct
5 Correct 380 ms 95352 KB Output is correct
6 Correct 398 ms 95356 KB Output is correct
7 Correct 414 ms 95252 KB Output is correct
8 Correct 568 ms 96888 KB Output is correct
9 Correct 668 ms 96632 KB Output is correct
10 Correct 215 ms 94456 KB Output is correct