Submission #107591

# Submission time Handle Problem Language Result Execution time Memory
107591 2019-04-25T09:31:17 Z MrTEK Crayfish scrivener (IOI12_scrivener) C++14
34 / 100
1000 ms 79896 KB
const int N = 1e6 + 5;
const int LOG = 21;
int cnt,back[N][LOG + 1],sz[N];
char ch[N];

void Init() {

}

void TypeLetter(char L) {
  cnt++;
  back[cnt][0] = cnt - 1;
  for (int i = 1 ; i <= LOG ; i++)
    back[cnt][i] = back[back[cnt][i - 1]][i - 1];
  sz[cnt] = sz[cnt - 1] + 1;
  ch[cnt] = L;
}

void UndoCommands(int U) {
  cnt++;
  back[cnt][0] = cnt - U - 1;
  for (int i = 1 ; i <= LOG ; i++)
    back[cnt][i] = back[back[cnt][i - 1]][i - 1];
  sz[cnt] = sz[cnt - U - 1];
  ch[cnt] = ch[cnt - U - 1];  
}

char GetLetter(int P) {
  P++;
  int x = cnt;
  for (int i = LOG ; i >= 0 ; i--)
    if (sz[back[x][i]] >= P)
      x = back[x][i];
  return ch[x];
}
# 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 384 KB Output is correct
6 Correct 11 ms 256 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
9 Correct 2 ms 256 KB Output is correct
10 Correct 2 ms 256 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 256 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 256 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 4 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 768 KB Output is correct
8 Correct 4 ms 768 KB Output is correct
9 Correct 4 ms 768 KB Output is correct
10 Correct 4 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 884 ms 65636 KB Output is correct
2 Execution timed out 1010 ms 79896 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1053 ms 52700 KB Time limit exceeded
2 Halted 0 ms 0 KB -