Submission #63034

#TimeUsernameProblemLanguageResultExecution timeMemory
63034Bodo171Crayfish scrivener (IOI12_scrivener)C++14
60 / 100
1043 ms69720 KiB
char last; void Init() {} const int nmax=1000005; char st[nmax]; int lev[nmax],state[nmax],tt[nmax][20]; int curr,states,nr,i,lg=19; void TypeLetter(char L) { curr=state[states]; st[++nr]=L;state[++states]=nr; tt[nr][0]=curr;lev[nr]=lev[curr]+1; for(i=1;i<=lg;i++) tt[nr][i]=tt[tt[nr][i-1]][i-1]; } void UndoCommands(int U) { states++; state[states]=state[states-U-1]; } char GetLetter(int P) { curr=state[states]; P=lev[curr]-P-1; for(i=lg;i>=0;i--) if(((1<<i)&P)) curr=tt[curr][i]; return st[curr]; }
#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...