Submission #104405

# Submission time Handle Problem Language Result Execution time Memory
104405 2019-04-06T16:53:21 Z wilwxk Crayfish scrivener (IOI12_scrivener) C++11
34 / 100
1000 ms 92856 KB
#include <bits/stdc++.h>
using namespace std;

const int MAXN=1e6+3;
const int LOGN=22;
int cont[MAXN], letra[MAXN];
int dp[MAXN][LOGN+3];
int contv=0;

void update(int cur) {
	int aux=dp[cur][0];
	for(int i=1; i<=LOGN; i++) {
		dp[cur][i]=dp[aux][i-1];
		aux=dp[cur][i];
	}
}

void Init() {}

void TypeLetter(char cur) {
	contv++; int pai=contv-1;
	if(pai==0) pai=contv;
	letra[contv]=cur;
	cont[contv]=cont[pai]+1;
	dp[contv][0]=pai;
	update(contv);
}

void UndoCommands(int val) {
	contv++; int pai=contv-1-val;
	if(pai==0) pai=contv;
	cont[contv]=cont[pai];
	dp[contv][0]=pai;
	update(contv);
}

char GetLetter(int ind) {
	int cur=contv;

	int aux=cur;
	for(int i=LOGN; i>=0; i--) {
		if(cont[dp[aux][i]]>ind) {
			aux=dp[aux][i];
		}
	}

	return letra[aux];
}
# 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 3 ms 384 KB Output is correct
6 Correct 2 ms 384 KB Output is correct
7 Correct 1 ms 356 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 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 3 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 3 ms 384 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 3 ms 356 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 4 ms 640 KB Output is correct
3 Correct 5 ms 768 KB Output is correct
4 Correct 4 ms 896 KB Output is correct
5 Correct 5 ms 768 KB Output is correct
6 Correct 4 ms 768 KB Output is correct
7 Correct 3 ms 768 KB Output is correct
8 Correct 5 ms 896 KB Output is correct
9 Correct 5 ms 896 KB Output is correct
10 Correct 4 ms 896 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 886 ms 75976 KB Output is correct
2 Execution timed out 1056 ms 92856 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1071 ms 65100 KB Time limit exceeded
2 Halted 0 ms 0 KB -