제출 #1202650

#제출 시각아이디문제언어결과실행 시간메모리
1202650NAMINMinerals (JOI19_minerals)C++20
0 / 100
0 ms416 KiB
#include <bits/stdc++.h>
#include "minerals.h"

using namespace std;

void calc(vector<int> A,vector<int> B){
	if(A.size()!=B.size()){
		Query(-1);
	}
	assert(A.size()==B.size());
	int n=A.size();
	if(n==1){
		Answer(A.back(),B.back());
		return;
	}

	for(int i=0;i<n/2;i++){
		Query(A[i]);
	}
	vector<int> inG,outG;
	for(int i=0;i<n;i++){
		if(Query(B[i])==n/2)
			inG.push_back(B[i]);
		else
			outG.push_back(B[i]);
		Query(B[i]);
	}

	for(int i=0;i<n/2;i++){
		Query(A[i]);
	}

	vector<int> a1,a2;
	for(int i=0;i<n/2;i++){
		a1.push_back(A[i]);
	}
	for(int i=n/2;i<n;i++){
		a2.push_back(A[i]);
	}

	calc(a1,inG);
	calc(a2,outG);
}

void Solve(int N) {
	
	vector<int> A,B;
	for(int i=1;i<=2*N;i++){
		int now = Query(i);
		if(A.size()==now){
			B.push_back(i);
			Query(i);
		}
		else{
			A.push_back(i);
		}
	}

	calc(A,B);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...