#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){
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;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Incorrect |
1 ms |
344 KB |
invalid array |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
344 KB |
Output is correct |
2 |
Correct |
0 ms |
344 KB |
Output is correct |
3 |
Correct |
1 ms |
344 KB |
Output is correct |
4 |
Correct |
0 ms |
344 KB |
Output is correct |
5 |
Incorrect |
1 ms |
344 KB |
invalid array |
6 |
Halted |
0 ms |
0 KB |
- |