Submission #103000

# Submission time Handle Problem Language Result Execution time Memory
103000 2019-03-28T12:44:51 Z wxh010910 Crayfish scrivener (IOI12_scrivener) C++17
34 / 100
1000 ms 94792 KB
#include <bits/stdc++.h>

using namespace std;

vector<int> from, depth;
vector<vector<int>> anc;
vector<char> type;

void Init() {
  type.push_back(' ');
  depth.push_back(0);
  anc.push_back(vector<int>());
  from.push_back(0);
}

void TypeLetter(char L) {
  type.push_back(L);
  depth.push_back(depth[from.back()] + 1);
  anc.push_back(vector<int>(1, from.back()));
  for (int i = 1; depth.back() >> i; ++i) {
    anc.back().push_back(anc[anc.back()[i - 1]][i - 1]);
  }
  from.push_back(from.size());
}

void UndoCommands(int U) {
  type.push_back(' ');
  depth.push_back(-1);
  anc.push_back(vector<int>());
  from.push_back(from[from.size() - 1 - U]);
}

char GetLetter(int P) {
  int jump = depth[from.back()] - 1 - P;
  int x = from.back();
  for (int i = 0; jump; ++i) {
    if (jump >> i & 1) {
      x = anc[x][i];
      jump -= 1 << i;
    }
  }
  return type[x];
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 384 KB Output is correct
2 Correct 2 ms 256 KB Output is correct
3 Correct 3 ms 384 KB Output is correct
4 Correct 3 ms 384 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 3 ms 256 KB Output is correct
7 Correct 2 ms 256 KB Output is correct
8 Correct 2 ms 256 KB Output is correct
9 Correct 3 ms 256 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 3 ms 256 KB Output is correct
3 Correct 2 ms 384 KB Output is correct
4 Correct 2 ms 256 KB Output is correct
5 Correct 2 ms 384 KB Output is correct
6 Correct 3 ms 256 KB Output is correct
7 Correct 2 ms 384 KB Output is correct
8 Correct 2 ms 408 KB Output is correct
9 Correct 2 ms 256 KB Output is correct
10 Correct 3 ms 404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 512 KB Output is correct
2 Correct 3 ms 640 KB Output is correct
3 Correct 4 ms 640 KB Output is correct
4 Correct 4 ms 768 KB Output is correct
5 Correct 4 ms 640 KB Output is correct
6 Correct 5 ms 896 KB Output is correct
7 Correct 6 ms 640 KB Output is correct
8 Correct 4 ms 768 KB Output is correct
9 Correct 5 ms 896 KB Output is correct
10 Correct 5 ms 768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1072 ms 94792 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1091 ms 85288 KB Time limit exceeded
2 Halted 0 ms 0 KB -