Submission #919329

#TimeUsernameProblemLanguageResultExecution timeMemory
919329ttamx도서관 (JOI18_library)C++14
0 / 100
27 ms676 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){
		assert(x<a.size());
		a.erase(a.begin()+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(l-1);
	}
	for(auto &x:ans)x++;
	Answer(ans);
}

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from library.cpp:1:
library.cpp: In lambda function:
library.cpp:10:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |   assert(x<a.size());
      |          ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...