Submission #18732

#TimeUsernameProblemLanguageResultExecution timeMemory
18732suhgyuho_williamCrayfish scrivener (IOI12_scrivener)C++98
60 / 100
1000 ms8888 KiB


int rear,cnt;
int a[1000010];
int ans[1000010];
bool first;

void Init(){
	rear = -1;
	first = true;
}

void TypeLetter(char L) {
	rear++;
	a[rear] = -(L-'a'+1);
	first = true;
}

void UndoCommands(int U) {
	rear++;
	a[rear] = U;
	first = true;
}

char GetLetter(int P) {
	int i;

	if(first){
		first = false;
		cnt = -1;
		for(i=rear; i>=0; i--){
			if(a[i] < 0){
				ans[++cnt] = -a[i];
			}else{
				i = i-a[i];
			}
		}
	}
	return ans[cnt-P]+'a'-1;
}
#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...