#include <bits/stdc++.h>
#include "minerals.h"
using namespace std;
typedef long long ll;
#define st first
#define nd second
#define pb push_back
const int maxn = 1e5+7;
bool zaznaczone[maxn];
vector<pair<int,int>> wyniki;
void rek(vector<int> numery){
    if(numery.size() == 2){
        wyniki.pb({numery[0],numery[1]});
        return;
    }
    vector<int> jeden,dwa;
    int licznik = 0,nowy,stary = 0;
    for(auto i : numery){
        nowy = Query(i);
        licznik++;
        if(nowy == stary){
            zaznaczone[i] = 1;
        }
        if(2*(licznik-nowy) >= numery.size()/2){
            stary = nowy;
            for(int j=0;j<licznik;j++){
                if(zaznaczone[i])
                    continue;
                nowy = Query(numery[j]);
                if(nowy == stary){
                    jeden.pb(numery[j]);
                }
                else{
                    dwa.pb(numery[j]);
                }
                stary = nowy;
            }
            break;
        }
        stary = nowy;
    }
    for(auto i : numery){
        if(zaznaczone[i]){
            nowy = Query(i);
            zaznaczone[i] = 0;
            jeden.pb(i);
        }
    }
    for(int i=licznik;i<numery.size();i++){
        dwa.pb(numery[i]);
    }
    rek(jeden);
    rek(dwa);
    return;
}
void Solve(int n) {   //Query(x) // Answer(a,b)
    vector<int> vect;
    for(int i=1;i<=2*n;i++){
        vect.pb(i);
    }
    rek(vect);
    for(auto i : wyniki){
        Answer(i.st,i.nd);
    }
}
| # | 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... |