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 <iostream>
#include <vector>
#include "minerals.h"
using namespace std;
//ifstream cin ("idk.in");
//ofstream cout ("idk.out");
const int N = 43005;
void solve(vector <int> v)  {
    if (v.size() == 2)  {
        Answer(v[0], v[1]);
        return;
    }
    vector <int> aux_st, aux_dr;
    int nr = v.size() / 4, x;
    for (auto it : v)   {
        x = Query(it);
        if (x > nr) {
            x = Query(it);
            aux_dr.push_back(it);
        }
        else aux_st.push_back(it);
    }
    for (auto it : aux_st)
        Query(it);
    solve(aux_st);
    solve(aux_dr);
}
void Solve(int n)   {
    vector <int> aux(0);
    for (int i = 1; i <= n + n; ++i)
        aux.push_back(i);
    solve(aux);
}
| # | 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... |