Submission #1232518

#TimeUsernameProblemLanguageResultExecution timeMemory
1232518VMaksimoski008스핑크스 (IOI24_sphinx)C++20
28.50 / 100
27 ms656 KiB
#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> find_colours(int n, vector<int> X, vector<int> Y) {
    vector<int> ans(n);
    for(int i=0; i<n; i++) ans[i] = i;

    vector<int> cnt(n); cnt[0] = 1;
    for(int u=1; u<n; u++) {
      int l=0, r=u-1;
      while(l <= r) {
        int mid = (l + r) / 2;
        vector<int> E(n, n); E[u] = -1;
        for(int j=0; j<=mid; j++) E[j] = -1;

        int need = cnt[mid];
        for(int i=0; i<n; i++) {
          if(E[i] == n) {
            need++;
            break;
          }
        }

        // cout << u << " " << mid << ": " << need << " " << perform_experiment(E) << endl;
        if(perform_experiment(E) <= need) ans[u] = ans[mid], r = mid - 1;
        else l = mid + 1;
      }
      cnt[u] = cnt[u-1];
      if(ans[u] == u) cnt[u]++;
    }

    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...