Submission #908248

#TimeUsernameProblemLanguageResultExecution timeMemory
908248zyq181Coreputer (IOI23_coreputer)C++17
60 / 100
1 ms596 KiB
#include "coreputer.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> malfunctioning_cores(int N){
	vector<int> them;
	int cur;
	int ret;
	vector<int> q;
	for(int a=0; a<N; a++){
		cur = a;
		q.push_back(cur);
		ret = run_diagnostic(q);
		if(ret != -1){
			them.push_back(cur);
			break;
		}
	}
	for(int a=cur+1; a<N; a++){
		q.pop_back();
		q.push_back(a);
		if(run_diagnostic(q) != -1){
			them.push_back(a);
		}
	}
	int cmp = them.size(); //either half + 1 or half + 1/2
	int k;
	if(ret == 1){
		k = cmp;
	}
	else{
		k = cmp - 1;
	}
	q.clear();
	for(int a=0; a<k; a++){	
		q.push_back(them[a]);
	}
	for(int a=0; a<cur; a++){
		q.pop_back();
		q.push_back(a);
		if(run_diagnostic(q) != -1){
			them.push_back(a);
		}
	}
	sort(them.begin(), them.end(), greater<int>());
	vector<int> r;
	for(int a=0; a<N; a++){
		if(them.back() == a){
			r.push_back(1);
			them.pop_back();
		}
		else{
			r.push_back(0);
		}
	}
	return r;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...