Submission #123457

# Submission time Handle Problem Language Result Execution time Memory
123457 2019-07-01T13:18:21 Z turbat Crayfish scrivener (IOI12_scrivener) C++14
100 / 100
618 ms 94456 KB
#include <bits/stdc++.h>
using namespace std;
#define N 1000005

char last, s[N];
int t[N][21], now, d[N], f[N];

void Init() {}

void TypeLetter(char L) {
	now++;
	s[now] = L;
	f[now] = now;
	d[now] = d[f[now - 1]] + 1;
	t[now][0] = f[now - 1];
	for (int i = 1;i < 21;i++)
		t[now][i] = t[t[now][i - 1]][i - 1];
}

void UndoCommands(int U) {
	now++;
	f[now] = f[now - U - 1];
}

char GetLetter(int P) {
	int a = d[f[now]] - P - 1, cur = f[now];
	for (int i = 0;i < 21;i++)
		if (a & 1<<i)
			cur = t[cur][i];
	return s[cur];
}
# 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 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 2 ms 504 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 380 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 2 ms 380 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 632 KB Output is correct
3 Correct 4 ms 764 KB Output is correct
4 Correct 3 ms 760 KB Output is correct
5 Correct 3 ms 760 KB Output is correct
6 Correct 4 ms 760 KB Output is correct
7 Correct 3 ms 760 KB Output is correct
8 Correct 3 ms 760 KB Output is correct
9 Correct 4 ms 760 KB Output is correct
10 Correct 4 ms 888 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 470 ms 69332 KB Output is correct
2 Correct 618 ms 83960 KB Output is correct
3 Correct 396 ms 84092 KB Output is correct
4 Correct 417 ms 89344 KB Output is correct
5 Correct 471 ms 78072 KB Output is correct
6 Correct 425 ms 90744 KB Output is correct
7 Correct 466 ms 79988 KB Output is correct
8 Correct 497 ms 88924 KB Output is correct
9 Correct 609 ms 84756 KB Output is correct
10 Correct 270 ms 94456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 547 ms 64588 KB Output is correct
2 Correct 535 ms 57336 KB Output is correct
3 Correct 388 ms 71544 KB Output is correct
4 Correct 393 ms 63864 KB Output is correct
5 Correct 484 ms 81584 KB Output is correct
6 Correct 425 ms 84032 KB Output is correct
7 Correct 419 ms 84004 KB Output is correct
8 Correct 540 ms 72656 KB Output is correct
9 Correct 597 ms 69808 KB Output is correct
10 Correct 254 ms 93176 KB Output is correct