Submission #1190715

#TimeUsernameProblemLanguageResultExecution timeMemory
1190715epicci23Sphinx's Riddle (IOI24_sphinx)C++20
24 / 100
32 ms656 KiB
#include "bits/stdc++.h"
#include "sphinx.h"
#define all(v) v.begin() , v.end()
#define sz(a) (int)a.size()
using namespace std;


vector<int> find_colours(int N, vector<int> X, vector<int> Y) {
  vector<int> G(N, 0);
  
  for(int i = 0; i < N; i++){
    int l = 0, r = N - 1;

    vector<int> nodes;
    for(int j = 0; j < N; j++) if(i != j) nodes.push_back(j);

    while(l < r){
      vector<int> E(N, 0);
      int mid = (l + r) / 2;
      for(int j = 0; j <= mid; j++) E[nodes[j]] = j;
      E[i] = -1;
      
      int hm = mid + 1 + min(1, (sz(nodes) - mid - 1));

      for(int j = mid + 1; j < sz(nodes); j++) E[nodes[j]] = N;

      int val = perform_experiment(E);
      
      if(val == hm) r = mid;
      else l = mid + 1;
    }

    G[i] = l;
  }

  return G;
}
#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...