| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1194695 | TahirAliyev | Sphinx's Riddle (IOI24_sphinx) | C++20 | 0 ms | 424 KiB |
#include "sphinx.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int, int>
int n;
vector<int> ans;
bool ask(int l, int r, int x){
vector<int> v(n);
for(int i = 0; i < n; i++){
if(i & 1) v[i] = x;
else v[i] = n;
}
for(int i = l; i <= r; i++){
if(!(i & 1)) v[i] = -1;
}
if(perform_experiment(v) != n) return 1;
for(int i = 0; i < n; i++){
if(i & 1) v[i] = n;
else v[i] = x;
}
for(int i = l; i <= r; i++){
if(i & 1) v[i] = -1;
}
if(perform_experiment(v) != n) return 1;
}
void rec(int l, int r, int x){
if(l == r){
ans[l] = x;
return;
}
int mid = (l + r) / 2;
if(ask(l, mid, x) != n){
rec(l, mid, x);
}
if(ask(mid + 1, r, x) != n){
rec(mid + 1, r, x);
}
}
vector<int> find_colours(int N, vector<int> X, vector<int> Y){
n = N;
ans.resize(n);
for(int i = 0; i < N; i++){
rec(0, n - 1, i);
}
return ans;
}
Compilation message (stderr)
| # | 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... | ||||
