Submission #88004

# Submission time Handle Problem Language Result Execution time Memory
88004 2018-12-03T11:11:16 Z Pajaraja Crayfish scrivener (IOI12_scrivener) C++17
100 / 100
451 ms 148556 KB
#include <bits/stdc++.h>
#define MAXN 1000007
#define MAXL 22
int p[MAXL][MAXN],sz,l[MAXN],brp,d[MAXN];
char t[MAXN];
void Init() {sz++;}
void TypeLetter(char L)
{
	l[++brp]=sz;
	t[sz]=L;
	d[sz]=d[l[brp-1]]+1;
	p[0][sz]=l[brp-1];
	for(int i=1;i<MAXL;i++) p[i][sz]=p[i-1][p[i-1][sz]];
	sz++;
}
void UndoCommands(int U) {l[brp+1]=l[brp-U]; brp++;}
char GetLetter(int P) 
{
	int kp=d[l[brp]]-P-1,cur=l[brp];
	while(kp!=0) {int x=(kp&-kp); cur=p[__builtin_popcount(x-1)][cur]; kp-=x;}
	return t[cur];
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 504 KB Output is correct
2 Correct 2 ms 632 KB Output is correct
3 Correct 3 ms 820 KB Output is correct
4 Correct 3 ms 820 KB Output is correct
5 Correct 3 ms 868 KB Output is correct
6 Correct 2 ms 868 KB Output is correct
7 Correct 2 ms 868 KB Output is correct
8 Correct 3 ms 868 KB Output is correct
9 Correct 3 ms 868 KB Output is correct
10 Correct 3 ms 880 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1012 KB Output is correct
2 Correct 2 ms 1012 KB Output is correct
3 Correct 3 ms 1016 KB Output is correct
4 Correct 3 ms 1020 KB Output is correct
5 Correct 2 ms 1024 KB Output is correct
6 Correct 4 ms 1028 KB Output is correct
7 Correct 2 ms 1032 KB Output is correct
8 Correct 2 ms 1036 KB Output is correct
9 Correct 3 ms 1040 KB Output is correct
10 Correct 3 ms 1096 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1176 KB Output is correct
2 Correct 4 ms 1316 KB Output is correct
3 Correct 4 ms 1356 KB Output is correct
4 Correct 4 ms 1488 KB Output is correct
5 Correct 4 ms 1488 KB Output is correct
6 Correct 4 ms 1640 KB Output is correct
7 Correct 4 ms 1724 KB Output is correct
8 Correct 3 ms 1724 KB Output is correct
9 Correct 4 ms 1724 KB Output is correct
10 Correct 3 ms 1724 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 418 ms 60816 KB Output is correct
2 Correct 429 ms 70700 KB Output is correct
3 Correct 425 ms 74100 KB Output is correct
4 Correct 349 ms 74100 KB Output is correct
5 Correct 321 ms 77180 KB Output is correct
6 Correct 289 ms 95636 KB Output is correct
7 Correct 293 ms 95636 KB Output is correct
8 Correct 334 ms 95636 KB Output is correct
9 Correct 451 ms 112404 KB Output is correct
10 Correct 240 ms 112404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 437 ms 112404 KB Output is correct
2 Correct 432 ms 112404 KB Output is correct
3 Correct 351 ms 112404 KB Output is correct
4 Correct 348 ms 112404 KB Output is correct
5 Correct 266 ms 125416 KB Output is correct
6 Correct 285 ms 126884 KB Output is correct
7 Correct 270 ms 134532 KB Output is correct
8 Correct 425 ms 134532 KB Output is correct
9 Correct 421 ms 138236 KB Output is correct
10 Correct 233 ms 148556 KB Output is correct