Submission #1241190

#TimeUsernameProblemLanguageResultExecution timeMemory
1241190MarwenElarbiSphinx's Riddle (IOI24_sphinx)C++20
1.50 / 100
1 ms412 KiB
#include <bits/stdc++.h>
#include "sphinx.h"
using namespace std;
#define fi first
#define se second
#define pb push_back
const int nax = 5e5+5;

std::vector<int> find_colours(int N, std::vector<int> X, std::vector<int> Y) {
  vector<int> parent(N);
  vector<int> cur;
  cur.push_back(0);
  for (int i = 0; i < N; ++i) parent[i]=i;
  for (int i = 1; i < N; ++i)
  {
    int l=-1;
    int r=cur.size();
    while(r-l>1){
      int mid=(r+l)/2;
      vector<int> cnt(N,N);
      cnt[i]=-1;
      for (int j = 0; j <= mid; ++j)
      {
        cnt[cur[j]]=-1;
      }
      if(perform_experiment(cnt)-(i<N-1&&mid<cur.size()-1)<=mid+1) r=mid;
      else l=mid;
    }
    if(r==cur.size()) cur.push_back(i);
    else parent[i]=cur[r];
  }
  return parent;
}
#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...