Submission #120486

# Submission time Handle Problem Language Result Execution time Memory
120486 2019-06-24T16:16:47 Z KieranHorgan Crayfish scrivener (IOI12_scrivener) C++17
100 / 100
732 ms 89436 KB
#include <bits/stdc++.h>
using namespace std;
int a[1000005][23], curStep=0, node, i;
void Init() {}
void TypeLetter(char L) {
	a[++curStep][21] = L;
	a[curStep][22] = a[curStep-1][22]+1;
	a[curStep][0] = curStep-1;
	for(i = 1; 1<<i <= a[curStep][22]; i++)
		a[curStep][i] = a[a[curStep][i-1]][i-1];
}
void UndoCommands(int U) { copy(a[curStep-1-U], a[curStep-1-U]+23, a[++curStep]); }
char GetLetter(int P) {
  for(i = 21, node = curStep; i >= 0; i--)
  	if(a[node][22] - (1<<i) >= P+1)
  		node = a[node][i];
  return a[node][21];
}

Compilation message

scrivener.cpp: In function 'void UndoCommands(int)':
scrivener.cpp:12:70: warning: operation on 'curStep' may be undefined [-Wsequence-point]
 void UndoCommands(int U) { copy(a[curStep-1-U], a[curStep-1-U]+23, a[++curStep]); }
                                                                      ^~~~~~~~~
scrivener.cpp:12:70: warning: operation on 'curStep' may be undefined [-Wsequence-point]
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 256 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 2 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 384 KB Output is correct
9 Correct 2 ms 384 KB Output is correct
10 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 512 KB Output is correct
2 Correct 3 ms 640 KB Output is correct
3 Correct 3 ms 768 KB Output is correct
4 Correct 3 ms 768 KB Output is correct
5 Correct 3 ms 640 KB Output is correct
6 Correct 4 ms 768 KB Output is correct
7 Correct 3 ms 640 KB Output is correct
8 Correct 3 ms 768 KB Output is correct
9 Correct 3 ms 768 KB Output is correct
10 Correct 3 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 560 ms 64844 KB Output is correct
2 Correct 566 ms 79032 KB Output is correct
3 Correct 396 ms 78448 KB Output is correct
4 Correct 397 ms 82252 KB Output is correct
5 Correct 511 ms 72720 KB Output is correct
6 Correct 395 ms 85724 KB Output is correct
7 Correct 603 ms 73448 KB Output is correct
8 Correct 509 ms 82776 KB Output is correct
9 Correct 603 ms 79504 KB Output is correct
10 Correct 208 ms 89436 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 585 ms 59624 KB Output is correct
2 Correct 676 ms 51496 KB Output is correct
3 Correct 371 ms 65400 KB Output is correct
4 Correct 380 ms 56552 KB Output is correct
5 Correct 452 ms 76048 KB Output is correct
6 Correct 424 ms 78840 KB Output is correct
7 Correct 439 ms 78824 KB Output is correct
8 Correct 600 ms 65952 KB Output is correct
9 Correct 732 ms 63480 KB Output is correct
10 Correct 207 ms 88380 KB Output is correct