Submission #154761

# Submission time Handle Problem Language Result Execution time Memory
154761 2019-09-24T14:28:09 Z junodeveloper Crayfish scrivener (IOI12_scrivener) C++14
100 / 100
628 ms 70176 KB
#include <bits/stdc++.h>
using namespace std;
int tcnt;
int path[1000010],top,cur;
int T[1000010][21],dep[1000010];
char ch[1000010];
void Init() {}
void TypeLetter(char L) {
	tcnt++;
	T[tcnt][0]=cur;
	dep[tcnt]=dep[cur]+1;
	int i;
	for(i=1;i<21;i++)
		T[tcnt][i]=T[T[tcnt][i-1]][i-1];
	ch[tcnt]=L;
	cur=tcnt;
	path[++top]=cur;
}
void UndoCommands(int U) {
	cur=path[top-U];
	path[++top]=cur;
}
int kth(int u,int k) {
	int i;
	for(i=0;k;i++,k>>=1)
		if(k&1)u=T[u][i];
	return u;
}
char GetLetter(int P) {
	return ch[kth(cur,dep[cur]-P-1)];
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 380 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 3 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
4 Correct 3 ms 380 KB Output is correct
5 Correct 2 ms 376 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 376 KB Output is correct
10 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 3 ms 504 KB Output is correct
3 Correct 4 ms 632 KB Output is correct
4 Correct 4 ms 632 KB Output is correct
5 Correct 4 ms 572 KB Output is correct
6 Correct 6 ms 764 KB Output is correct
7 Correct 4 ms 760 KB Output is correct
8 Correct 4 ms 632 KB Output is correct
9 Correct 4 ms 760 KB Output is correct
10 Correct 3 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 594 ms 57476 KB Output is correct
2 Correct 576 ms 63376 KB Output is correct
3 Correct 413 ms 63192 KB Output is correct
4 Correct 385 ms 52472 KB Output is correct
5 Correct 447 ms 55352 KB Output is correct
6 Correct 354 ms 68724 KB Output is correct
7 Correct 403 ms 37180 KB Output is correct
8 Correct 394 ms 52600 KB Output is correct
9 Correct 622 ms 70176 KB Output is correct
10 Correct 226 ms 52060 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 561 ms 50320 KB Output is correct
2 Correct 568 ms 45688 KB Output is correct
3 Correct 370 ms 50024 KB Output is correct
4 Correct 401 ms 39668 KB Output is correct
5 Correct 363 ms 53532 KB Output is correct
6 Correct 398 ms 50556 KB Output is correct
7 Correct 401 ms 53756 KB Output is correct
8 Correct 553 ms 29304 KB Output is correct
9 Correct 628 ms 47196 KB Output is correct
10 Correct 226 ms 51832 KB Output is correct