Submission #912535

#TimeUsernameProblemLanguageResultExecution timeMemory
912535zyq181Coreputer (IOI23_coreputer)C++17
20 / 100
1 ms344 KiB
#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;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...