#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> E;
const int MAXN = 250;
vector<vector<int>> adj(MAXN);
int expected(int N) {
set<int> st;
for (int i = 0; i < N; ++i) {
if (E[i] == -1) continue;
st.insert(E[i]);
}
return (int)st.size();
}
std::vector<int> find_colours(int N, std::vector<int> X, std::vector<int> Y) {
int M = (int)X.size();
for (int i = 0; i < M; ++i) {
adj[X[i]].push_back(Y[i]);
adj[Y[i]].push_back(X[i]);
}
E = vector<int>(N);
vector<int> F(N);
for (int i = 0; i < N; ++i) {
int left = 0, right = N - 1;
while (left < right) {
// cerr << "NOW CHECKING INDEX #" << i << " , with interval [" << left << " ; " << right << "]\n";
for (auto& u : E) u = N;
int mid = (left + right) / 2;
int pos = left;
int j = 0;
while (pos <= mid) {
if (j == i) {
j++;
continue;
}
E[j++] = pos++;
}
// cout << "HERE!" << endl;
E[i] = -1;
int exp = expected(N);
if (exp == perform_experiment(E)) {
right = mid;
} else {
left = mid + 1;
}
}
F[i] = right;
}
return F;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |