Submission #1221988

#TimeUsernameProblemLanguageResultExecution timeMemory
1221988hyakup스핑크스 (IOI24_sphinx)C++20
24 / 100
35 ms656 KiB
#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;

int bs( int id, int n ){
  int l = 0, r = n - 1;

  vector<int> v(n); iota( v.begin(),v.end(), 0);
  v[id] = -1;
  if( perform_experiment(v) == n ) return id;

  while( l < r ){
    int mid = (l + r)/2;
    int cont = 0;
    for( int i = 0; i < v.size(); i++ ){
      if( l <= i && i <= mid && i != id ){ v[i] = i; cont++; }
      else v[i] = n;
    }
    v[id] = -1;
    if( perform_experiment(v) == cont + 2 ) l = mid + 1;
    else r = mid;
  }
  return r;
}

vector<int> find_colours(int n, vector<int> a, vector<int> b) {
  vector<int> resp(n);
  for( int i = 0; i < n; i++ ){
    resp[i] = bs(i, n);
  }
  return resp;
}
#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...