#include <iostream>
#include <vector>
#include <stack>
#include "coreputer.h"
using namespace std;
vector<int> malfunctioning_cores(int N) {
vector<int> flag(N, 0), v, v2;
int t=-1, m=0;
for (int step = N; step>0 && t!=0; step/=2) {
m+=step;
vector<int> tmp;
for(int i=0;i<m;i++)tmp.push_back(i);
t = run_diagnostic(tmp);
if(t==1)m-=step;
if(step>1)step++;
v=tmp;
}
if(t==1)v.pop_back();
flag[m] = 1;
for (int i = m + 1; i < N; i++) {
v.push_back(i);
t = run_diagnostic(v);
if (t == 1)flag[i] = 1;
v.pop_back();
}
for (int i = m + 1; i < N; i++)v2.push_back(i);
for (int i = 0; i < m; i++) {
v2.push_back(i);
t = run_diagnostic(v2);
if (t == 1)flag[i] = 1;
v2.pop_back();
}
return flag;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |