#include <bits/stdc++.h>
#include "minerals.h"
using namespace std;
constexpr int N=43410;
bool qry[N];
int a,b;
void f(vector<int>&x,vector<int>&y){
int n=(int)x.size();
if(n==1){
Answer(x[0],y[0]);
return;
}
vector<int> nx[2],ny[2];
for(int i=0;i<n;++i){
if(i<n/2){
if(qry[y[i]]) a=b,b=Query(y[i]),qry[y[i]]=0;
ny[0].emplace_back(y[i]);
}else{
if(!qry[y[i]]) a=b,b=Query(y[i]),qry[y[i]]=1;
ny[1].emplace_back(y[i]);
}
}
for(int i=0;i<n;++i){
a=b,b=Query(x[i]),qry[x[i]]=!qry[x[i]];
nx[a==b].emplace_back(x[i]);
}
f(nx[0],ny[0]);
f(nx[1],ny[1]);
}
void Solve(int N) {
vector<int> x,y;
for(int i=1;i<=2*N;++i){
b=Query(i);
if(a==b) y.emplace_back(i);
else x.emplace_back(i);
a=b,qry[i]=1;
}
f(x,y);
}
# | 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... |