Submission #120481

# Submission time Handle Problem Language Result Execution time Memory
120481 2019-06-24T16:04:11 Z KieranHorgan Crayfish scrivener (IOI12_scrivener) C++17
100 / 100
772 ms 89508 KB
#include <bits/stdc++.h>
using namespace std;
int a[1000005][23];
int 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:13: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:13:70: warning: operation on 'curStep' may be undefined [-Wsequence-point]
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 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 256 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 2 ms 256 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 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 2 ms 316 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 256 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 3 ms 768 KB Output is correct
7 Correct 3 ms 768 KB Output is correct
8 Correct 3 ms 640 KB Output is correct
9 Correct 3 ms 768 KB Output is correct
10 Correct 3 ms 764 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 467 ms 64868 KB Output is correct
2 Correct 511 ms 79040 KB Output is correct
3 Correct 365 ms 78412 KB Output is correct
4 Correct 381 ms 82224 KB Output is correct
5 Correct 493 ms 72624 KB Output is correct
6 Correct 394 ms 85764 KB Output is correct
7 Correct 505 ms 73300 KB Output is correct
8 Correct 499 ms 82652 KB Output is correct
9 Correct 610 ms 79556 KB Output is correct
10 Correct 208 ms 89508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 583 ms 59440 KB Output is correct
2 Correct 642 ms 51564 KB Output is correct
3 Correct 369 ms 65372 KB Output is correct
4 Correct 377 ms 56560 KB Output is correct
5 Correct 449 ms 76088 KB Output is correct
6 Correct 399 ms 78656 KB Output is correct
7 Correct 453 ms 78676 KB Output is correct
8 Correct 608 ms 66136 KB Output is correct
9 Correct 772 ms 63476 KB Output is correct
10 Correct 219 ms 88348 KB Output is correct