Submission #120484

#TimeUsernameProblemLanguageResultExecution timeMemory
120484KieranHorganCrayfish scrivener (IOI12_scrivener)C++17
0 / 100
197 ms64760 KiB
#include <bits/stdc++.h>
using namespace std;
int a[1000005][23], curStep=0, node, i;
void Init() {}
void TypeLetter(char L) {
	a[++curStep][21] = L;
	a[curStep][22] = a[curStep-1][22]+1;
	a[curStep][0] = curStep-1;
	copy(a[curStep-1]+1, a[curStep-1]+20, a[curStep]+1);
}
void UndoCommands(int U) { curStep++;copy(a[curStep-1-U], a[curStep-1-U]+23, a[curStep]); }
char GetLetter(int P) {
  for(i = 21, node = curStep; i >= 0; i--)
  	if(a[node][22] - (1<<i) >= P+1)
  		node = a[node][i];
  return a[node][21];
}
#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...