제출 #1349197

#제출 시각아이디문제언어결과실행 시간메모리
1349197jellybean도서관 (JOI18_library)C++20
0 / 100
9 ms420 KiB
#include<bits/stdc++.h>
#include "library.h"
using namespace std;

void Solve(int N)
{
	vector<int> x;
	vector<int> m;
	vector<int> ans;
	int x1;
	if(N==1)Answer({1});
	m.assign(N,1);
	for (int i = 0;i<N;i++) x.push_back(i+1);
	for (int i  =0;i<N;i++){
        m[i] = 0;
        if (Query(m)==1){x.erase(x.begin()+i);x1 = i;ans.push_back(i+1);break;}
        m[i] = 1;
	}
    m.assign(N,0);
	for (int i = 0;i<N;i++){
	  if (ans.empty()) break;
	  int d = 0;
        int a = 0;
        int b = x.size()-1;
        if (x.empty()) break;
        while (a<b){
          d++;
          if (d>100) break;
            int y = (a+b)/2;
            m[ans[ans.size()-1]-1 ]=1;
            for (int j = a;j<=y;j++) {m[x[j]-1] = 1;}
        

    
            int z = Query(m);
   
            m[ans[ans.size()-1]-1] = 0;

            int z1 = Query(m);
 
            if (z==z1) b = y;
            else a = y+1;

            m.assign(N,0);


        }
        if (a<0 or a>x.size()-1) break;
        ans.push_back(x[a]);
        if (ans.size()==N or x.empty()) break;
        x.erase(x.begin()+a);
        m.assign(N,0);
	}
	Answer(ans);

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...