Submission #1278437

#TimeUsernameProblemLanguageResultExecution timeMemory
1278437avighnaSphinx's Riddle (IOI24_sphinx)C++20
24 / 100
30 ms648 KiB
#include <bits/stdc++.h>

int perform_experiment(std::vector<int> E);

std::vector<int> find_colours(int n, std::vector<int> x, std::vector<int> y) {
  auto has_color_lt = [&](int u, int c) {
    std::vector<int> q(n, n);
    bool placed_n = false;
    for (int i = 0, x = 0; i < n; ++i) {
      if (i == u) {
        continue;
      }
      q[i] = x < c ? x : n;
      if (q[i] == n) {
        placed_n = true;
      }
      x++;
    }
    q[u] = -1;
    int e = perform_experiment(q);
    return e < c + placed_n + 1;
  };

  std::vector<int> ans(n);
  for (int i = 0; i < n; ++i) {
    ans[i] = *std::ranges::partition_point(std::views::iota(1, n), [&](int c) {
      return !has_color_lt(i, c);
    }) - 1;
  }

  return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...