답안 #130660

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
130660 2019-07-15T19:18:45 Z dragonslayerit 크레이피쉬 글쓰는 기계 (IOI12_scrivener) C++14
100 / 100
715 ms 93944 KB
#include <string>

struct String{
  int len;
  char last;
  int prev[20];
  String():len(0),last('\0'){
  }
}str[1000001];
int curr=0;


void Init() {}

void TypeLetter(char L) {
  str[curr+1].len=str[curr].len+1;
  str[curr+1].last=L;
  str[curr+1].prev[0]=curr;
  for(int k=1;k<20;k++){
    str[curr+1].prev[k]=str[str[curr+1].prev[k-1]].prev[k-1];
  }
  curr++;
}

void UndoCommands(int U) {
  str[curr+1]=str[curr-U];
  curr++;
}

char GetLetter(int P) {
  int move=str[curr].len-1-P;
  int x=curr;
  for(int k=0;k<20;k++){
    if(move&(1<<k)){
      x=str[x].prev[k];
    }
  }
  return str[x].last;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 68 ms 86392 KB Output is correct
2 Correct 67 ms 86392 KB Output is correct
3 Correct 67 ms 86520 KB Output is correct
4 Correct 67 ms 86392 KB Output is correct
5 Correct 68 ms 86520 KB Output is correct
6 Correct 67 ms 86392 KB Output is correct
7 Correct 67 ms 86396 KB Output is correct
8 Correct 68 ms 86392 KB Output is correct
9 Correct 68 ms 86392 KB Output is correct
10 Correct 68 ms 86392 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 68 ms 86392 KB Output is correct
2 Correct 68 ms 86520 KB Output is correct
3 Correct 68 ms 86436 KB Output is correct
4 Correct 84 ms 86420 KB Output is correct
5 Correct 75 ms 86444 KB Output is correct
6 Correct 68 ms 86392 KB Output is correct
7 Correct 68 ms 86412 KB Output is correct
8 Correct 67 ms 86520 KB Output is correct
9 Correct 67 ms 86440 KB Output is correct
10 Correct 67 ms 86364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 68 ms 86392 KB Output is correct
2 Correct 68 ms 86464 KB Output is correct
3 Correct 70 ms 86472 KB Output is correct
4 Correct 69 ms 86392 KB Output is correct
5 Correct 69 ms 86396 KB Output is correct
6 Correct 69 ms 86392 KB Output is correct
7 Correct 69 ms 86404 KB Output is correct
8 Correct 81 ms 86392 KB Output is correct
9 Correct 69 ms 86384 KB Output is correct
10 Correct 68 ms 86392 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 514 ms 87160 KB Output is correct
2 Correct 602 ms 90616 KB Output is correct
3 Correct 399 ms 91404 KB Output is correct
4 Correct 408 ms 92920 KB Output is correct
5 Correct 482 ms 91668 KB Output is correct
6 Correct 429 ms 90744 KB Output is correct
7 Correct 530 ms 92792 KB Output is correct
8 Correct 514 ms 91996 KB Output is correct
9 Correct 671 ms 91128 KB Output is correct
10 Correct 262 ms 90488 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 569 ms 90376 KB Output is correct
2 Correct 642 ms 92572 KB Output is correct
3 Correct 392 ms 92428 KB Output is correct
4 Correct 437 ms 93944 KB Output is correct
5 Correct 415 ms 91384 KB Output is correct
6 Correct 441 ms 91296 KB Output is correct
7 Correct 423 ms 91256 KB Output is correct
8 Correct 602 ms 93176 KB Output is correct
9 Correct 715 ms 92732 KB Output is correct
10 Correct 257 ms 90656 KB Output is correct