#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;
const int MXN = 1000;
vector<int> find_colours(int N, vector<int> X, vector<int> Y)
{
vector<int> ans(N);
for (int col = 0; col < N; col++)
{
{
vector<int> c(N, 0);
for (int i = 0; i < N; i++)
{
if (i & 1) c[i] = col;
else c[i] = -1;
}
int prv = -1;
while (perform_experiment(c) != N)
{
int l = prv + 1, r = N - 1;
while (l < r)
{
int mid = (l + r) >> 1;
vector<int> q(N, 0);
for (int i = 0; i < N; i++)
{
if (i & 1) q[i] = col;
else
{
if (l <= i && i <= mid) q[i] = -1;
else q[i] = N;
}
}
if (perform_experiment(q) != N) r = mid;
else l = mid + 1;
}
ans[l] = col;
c[l] = N;
prv = l;
}
}
{
vector<int> c(N, 0);
for (int i = 0; i < N; i++)
{
if (!(i & 1)) c[i] = col;
else c[i] = -1;
}
int prv = -1;
while (perform_experiment(c) != N)
{
int l = prv + 1, r = N - 1;
while (l < r)
{
int mid = (l + r) >> 1;
vector<int> q(N, 0);
for (int i = 0; i < N; i++)
{
if (!(i & 1)) q[i] = col;
else
{
if (l <= i && i <= mid) q[i] = -1;
else q[i] = N;
}
}
if (perform_experiment(q) != N) r = mid;
else l = mid + 1;
}
ans[l] = col;
c[l] = N;
prv = l;
}
}
}
return ans;
}
# | 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... |