#include "minerals.h"
#include <algorithm>
#include <bits/stdc++.h>
#include <cstdlib>
using namespace std;
void dbg(string tag, vector<int> v){
cerr<<tag<< " ";
for(int a:v)cerr<<a<<' ';
cerr<<endl;
}
void recurse(vector<int> in_box, vector<int> out_box){
//random_shuffle(in_box.begin(),in_box.end());
//random_shuffle(out_box.begin(),out_box.end());
if(in_box.size()==1 && out_box.size()==1){
Answer(in_box.back(),out_box.back());
}else{
vector<int> inl,inr,outl,outr;
int mid = in_box.size()/2;
for(int i = 0 ; i < mid; i++)inl.push_back(in_box[i]);
int base = 0;
for(int i = mid ; i < in_box.size();i++){
inr.push_back(in_box[i]);
base = Query(inr.back());
}
for(int i = 0 ; i < out_box.size() ; i++){
//Si tout est déja complet on économise BEAUCOUP
if(outr.size()==inr.size()){
outl.push_back(out_box[i]);
}else if(outl.size()==inl.size()){
outr.push_back(out_box[i]);
}else{
int x = Query(out_box[i]);
if(x != base){
outr.push_back(out_box[i]);
}else{
outl.push_back(out_box[i]);
}
base = x;
}
}
recurse(inl,outl);
recurse(outr,inr);
}
}
void Solve(int N) {
srand(time(NULL));
vector<int> A,B;
int base = 0;
for(int i = 1 ; i < 2*N ; i++){
int x = Query(i);
if(x==(base+1)){A.push_back(i);base++;}
else{Query(i);B.push_back(i);}
}
if(A.size()==N)B.push_back(2*N);
else A.push_back(2*N);
recurse(A,B);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |