제출 #541529

#제출 시각아이디문제언어결과실행 시간메모리
541529fadi57도서관 (JOI18_library)C++14
0 / 100
270 ms296 KiB
#include <cstdio> #include <vector> #include "library.h" //#include "grader.cpp" using namespace std; void Solve(int n) { if(n==1){ vector<int>ans; ans={1}; Answer (ans); } vector<int>q(n,1);int st=0; for(int i=0;i<n;i++){ q[i]=0; int x=Query(q); q[i]=1; if(x==1){ st=i;} } vector<int>ans; ans.push_back(st); vector<int>comp; for(int i=0;i<n;i++){ if(i!=st){ comp.push_back(i); } } while(comp.size()){ int s=0;int en=comp.size()-1; while(st<=en){ int mid=(st+en)/2; vector<int>Q(n,0); for(int j=0;j<mid;j++){ Q[comp[j]]=1; } int x=Query(Q); Q[ans.back()]=1; int y=Query(Q); if(y==x){ en=mid-1; }else{ s=mid+1; } } ans.push_back(comp[s]); swap(comp[s], comp.back()); comp.pop_back(); } for(auto &it:ans){it++; } Answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...