#include "coreputer.h"
#include<bits/stdc++.h>
using namespace std;
int a[20];
vector<int> s;
vector<int> x;
std::vector<int> malfunctioning_cores(int N) {
for(int i=0;i<N;i++){
for(int j=0;j<=i;j++){
if(a[j]==0)s.push_back(j);
}
if(run_diagnostic(s)!=-1)a[i]=1;
s.clear();
}
for(int i=0;i<N;i++){
if(a[i]==1)x.push_back(i);
}
/*for(auto z:x){
cout << z << " ";
}*/
int lef=0;
for(int i=1;i<=x.size();i++){
for(int j=0;j<i;j++){
s.push_back(x[j]);
}
int val=run_diagnostic(s);
s.clear();
if(val==0){
lef=2*i-x.size();
break;
}
else if(val==1){
lef=2*i-x.size()-1;
break;
}
}
//cout << lef << "\n";
if(lef!=0){
int mid=(x.size()+lef)/2;
//cout << mid;
for(int i=0;i<N;i++){
if(a[i]==1)continue;
for(int j=0;j<mid;j++){
s.push_back(x[j]);
}
s.push_back(i);
if(run_diagnostic(s)==1)a[i]=1;
s.clear();
}
}
for(int i=0;i<N;i++){
if(a[i])s.push_back(i);
}
return s;
}