This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "coreputer.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> malfunctioning_cores(int N){
vector<int> mal;
vector<int> v;
for(int a=0; a<N; a++) v.push_back(0);
int lo = 0;
int hi = N-1;
bool flag = true;
vector<int> q;
int t;
int numneed;
while(lo < hi){
q.clear();
int m = (lo + hi)/2;
for(int a=0; a<=m; a++){
q.push_back(a);
}
t = run_diagnostic(q);
if(t == 0) flag = false;
if(t == -1) lo = m + 1;
else hi = m;
}
mal.push_back(lo);
for(int a=lo+1; a<=N-1; a++){
q.pop_back();
q.push_back(a);
if(run_diagnostic(q) != -1){
mal.push_back(a);
}
}
if(flag) numneed = mal.size();
else numneed = mal.size() - 1;
q.clear();
for(int a=0; a<numneed-1; a++){
q.push_back(mal[a]);
}
for(int a=0; a<=lo-1; a++){
q.push_back(a);
if(run_diagnostic(q) != -1) mal.push_back(a);
q.pop_back();
}
for(auto it: mal) v[it] = 1;
return v;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |