Submission #1202360

#TimeUsernameProblemLanguageResultExecution timeMemory
1202360PacybwoahSphinx's Riddle (IOI24_sphinx)C++20
24 / 100
32 ms1172 KiB
#include "sphinx.h"
#include<iostream>
#include<algorithm>
#include<vector>
#include<utility>
using namespace std;
typedef long long ll;
std::vector<int> find_colours(int n, std::vector<int> X, std::vector<int> Y){
    int m = (int)X.size();
    vector<vector<int>> graph(n);
    for(int i = 0; i < m; i++){
        graph[X[i]].push_back(Y[i]);
        graph[Y[i]].push_back(X[i]);
    }
    vector<int> que(n), ans(n, -1);
    for(int node = 0; node < n; node++){
        int l = 0, r = n - 1;
        while(l < r){
            int mid = (l + r) >> 1;
            fill(que.begin(), que.end(), n);
            int cnt = 0;
            for(int i = 0; i < n; i++){
                if(cnt > mid) break;
                if(i == node) continue;
                que[i] = cnt;
                cnt++;
            }
            que[node] = -1;
            //cout << perform_experiment(que) << " " << node << " " << mid << endl;
            if(perform_experiment(que) == mid + 2 + (mid == n - 2 ? 0 : 1)) l = mid + 1;
            else r = mid;
        }
        ans[node] = l;
    }
    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...