#include "coreputer.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> malfunctioning_cores(int N) {
vector<int> ans(N);
vector<int> v(N);
int l = 0, r = N;
while (l < r) {
vector<int> T;
int mid = (l + r) / 2;
for (int i = 0; i <= mid; i++) T.push_back(i);
v[mid] = run_diagnostic(T);
if (v[mid] == -1) {
l = mid + 1;
} else {
r = mid;
}
}
ans[l] = 1;
if (l == N - 1) return ans;
for (int i = 0; i < l; i++) {
vector<int> qrs;
for (int j = 0; j <= l; j++) if (j != i) qrs.push_back(j);
if (run_diagnostic(qrs) == -1) ans[i] = 1;
}
for (int i = l + 1; i < N - 1; i++) {
vector<int> qrs;
for (int j = 0; j < l; j++) qrs.push_back(j);
qrs.push_back(i);
if (run_diagnostic(qrs) >= 0) ans[i] = 1;
}
int ct = 0;
for (int i = 0; i < N - 1; i++) if (ans[i]) ct++;
if (ct % 2 != v[l]) ans[N-1] = 1;
return ans;
}