제출 #18849

#제출 시각아이디문제언어결과실행 시간메모리
18849suhgyuho_william크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++98
5 / 100
299 ms91896 KiB
int rear,cnt; int par[1000010][22]; int next[1000010]; char a[1000010]; void Init(){ rear = cnt = 0; } void TypeLetter(char L) { int i; rear++; cnt++; next[cnt] = rear; a[rear] = L; par[rear][0] = next[rear-1]; for(i=1; i<=19; i++){ par[rear][i] = par[par[rear][i-1]][i-1]; } } void UndoCommands(int U) { cnt++; next[cnt] = next[cnt-U]; } char GetLetter(int P) { int i,x; int ans; ans = rear; x = next[cnt]-(P+1); for(i=19; i>=0; i--){ if(x == 0) break; if(x >= (1 << i)){ x -= (1 << i); ans -= (1 << i); } } return a[ans]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...