제출 #1164449

#제출 시각아이디문제언어결과실행 시간메모리
1164449AlgorithmWarrior크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++20
100 / 100
263 ms68368 KiB
#include <bits/stdc++.h> using namespace std; int const MAX=1e6+5; int const LOG=22; vector<int>stare; int h[MAX]; int lift[MAX][LOG]; int id; char carac[MAX]; void Init(){ stare.push_back(0); h[0]=-1; } void TypeLetter(char L){ int tata=stare.back(); ++id; stare.push_back(id); carac[id]=L; h[id]=h[tata]+1; lift[id][0]=tata; int i; for(i=1;i<LOG;++i) lift[id][i]=lift[lift[id][i-1]][i-1]; } void UndoCommands(int U){ stare.push_back(stare[stare.size()-U-1]); } char GetLetter(int P){ int nod=stare.back(); int dif=h[nod]-P; int i; for(i=0;i<LOG;++i) if(dif&(1<<i)) nod=lift[nod][i]; return carac[nod]; }
#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...