Submission #3189

# Submission time Handle Problem Language Result Execution time Memory
3189 2013-08-28T11:05:59 Z cki86201 Crayfish scrivener (IOI12_scrivener) C++
100 / 100
700 ms 87992 KB
const int MX = 1000010;
char p[MX];
int up[MX][20],a[MX],cnt,dep[MX];

void Init(){dep[0]=-1;}

void TypeLetter(char L){
	++cnt;
	p[cnt]=L;
	a[cnt]=cnt;
	up[cnt][0]=a[cnt-1];
	dep[cnt]=dep[a[cnt-1]]+1;
	int i,tmp=up[cnt][0];
	for(i=1;i<20;i++){
		if(up[tmp][i-1]){
			up[cnt][i]=up[tmp][i-1];
			tmp=up[cnt][i];
		}
		else break;
	}
}

void UndoCommands(int U){
	a[cnt+1]=a[cnt-U];
	cnt++;
}

char GetLetter(int P){
	int i,tmp=a[cnt];
	for(i=19;i>=0;i--){
		if(dep[up[tmp][i]]<P)continue;
		tmp=up[tmp][i];
	}
	return p[tmp];
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87992 KB Output is correct
2 Correct 0 ms 87992 KB Output is correct
3 Correct 0 ms 87992 KB Output is correct
4 Correct 0 ms 87992 KB Output is correct
5 Correct 0 ms 87992 KB Output is correct
6 Correct 0 ms 87992 KB Output is correct
7 Correct 0 ms 87992 KB Output is correct
8 Correct 0 ms 87992 KB Output is correct
9 Correct 0 ms 87992 KB Output is correct
10 Correct 0 ms 87992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87992 KB Output is correct
2 Correct 0 ms 87992 KB Output is correct
3 Correct 0 ms 87992 KB Output is correct
4 Correct 0 ms 87992 KB Output is correct
5 Correct 0 ms 87992 KB Output is correct
6 Correct 0 ms 87992 KB Output is correct
7 Correct 0 ms 87992 KB Output is correct
8 Correct 0 ms 87992 KB Output is correct
9 Correct 0 ms 87992 KB Output is correct
10 Correct 0 ms 87992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 87992 KB Output is correct
2 Correct 0 ms 87992 KB Output is correct
3 Correct 0 ms 87992 KB Output is correct
4 Correct 0 ms 87992 KB Output is correct
5 Correct 0 ms 87992 KB Output is correct
6 Correct 0 ms 87992 KB Output is correct
7 Correct 0 ms 87992 KB Output is correct
8 Correct 0 ms 87992 KB Output is correct
9 Correct 0 ms 87992 KB Output is correct
10 Correct 0 ms 87992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 392 ms 87992 KB Output is correct
2 Correct 400 ms 87992 KB Output is correct
3 Correct 332 ms 87992 KB Output is correct
4 Correct 328 ms 87992 KB Output is correct
5 Correct 456 ms 87992 KB Output is correct
6 Correct 364 ms 87992 KB Output is correct
7 Correct 488 ms 87992 KB Output is correct
8 Correct 460 ms 87992 KB Output is correct
9 Correct 468 ms 87992 KB Output is correct
10 Correct 188 ms 87992 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 568 ms 87992 KB Output is correct
2 Correct 640 ms 87992 KB Output is correct
3 Correct 360 ms 87992 KB Output is correct
4 Correct 408 ms 87992 KB Output is correct
5 Correct 428 ms 87992 KB Output is correct
6 Correct 392 ms 87992 KB Output is correct
7 Correct 416 ms 87992 KB Output is correct
8 Correct 596 ms 87992 KB Output is correct
9 Correct 700 ms 87992 KB Output is correct
10 Correct 188 ms 87992 KB Output is correct