This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "bits/stdc++.h"
#include "library.h"
using namespace std;
void Solve(int N)
{
if(N == 1){
Answer({1});
return;
}
vector <int> still(N);
iota(still.begin() ,still.end() ,0);
int chnd;
for(int i=0; i<N; i++){
vector <int> M(N ,1);
M[i] = 0;
if(Query(M) == 1)
chnd = i;
}
still.erase(find(still.begin() ,still.end() ,chnd));
vector <int> res{chnd+1};
for(int i=1; i<N; i++){
int st = 0 ,en = still.size()-1 ,mid;
while(st <= en){
mid = (st+en)>>1;
vector <int> M(N ,0);
for(int i=0; i<=mid; i++)
M[still[i]] = 1;
int c = Query(M);
M[chnd] = 1;
if(c == Query(M))
en = mid-1;
else
st = mid+1;
}
chnd = still[st];
res.push_back(chnd+1);
still.erase(still.begin()+st);
}
Answer(res);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |