제출 #919331

#제출 시각아이디문제언어결과실행 시간메모리
919331ttamx도서관 (JOI18_library)C++14
0 / 100
29 ms592 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(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=0,r=a.size()-1;
		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;
		}
		assert(l<a.size());
		ans.emplace_back(a[l]);
		del(l);
	}
	for(auto &x:ans)x++;
	Answer(ans);
}

컴파일 시 표준 에러 (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 function 'void Solve(int)':
library.cpp:35:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |   assert(l<a.size());
      |          ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...