Submission #919321

#TimeUsernameProblemLanguageResultExecution timeMemory
919321ttamx도서관 (JOI18_library)C++14
0 / 100
29 ms436 KiB
#include <bits/stdc++.h>
#include "library.h"

using namespace std;

void Solve(int n){
	vector<int> a(n);
	iota(a.begin(),a.end(),0);
	auto del=[&](int x){
		a.erase(lower_bound(a.begin(),a.end(),x));
	};
	vector<int> qr(n,1);
	int st=-1;
	for(int i=0;i<n;i++){
		qr[i]=0;
		if(Query(qr)==1){
			st=i;
			break;
		}
		qr[i]=1;
	}
	del(st);
	vector<int> ans{st};
	for(int t=1;t<n;t++){
		int l=1,r=n-t;
		while(l<r){
			int m=(l+r)/2;
			qr.assign(n,0);
			for(int i=0;i<m;i++)qr[a[i]]=1;
			int res=Query(qr);
			qr[ans.back()]=1;
			if(Query(qr)==res)r=m;
			else l=m+1;
		}
		ans.emplace_back(a[l-1]);
		del(a[l-1]);
	}
	for(auto &x:ans)x++;
	Answer(ans);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...