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>
using namespace std;
#include "swaps.h"
 
int a[2001] = {0}; 
int n , xd;
int x = 0;
void compp(int a,int b){
    if(b<=n&&a<=n){
        schedule(a,b); 
        x++;
    }
}
void bitonic(int l, int r, bool inc){
    if(l==r)return ;
    assert(l<=r);
    int md=(l+r)/2;
    assert(((l+r)%2)==1);
    bitonic(l,md,inc);
    bitonic(md+1,r,!inc);
    for(int i = l;i<=md;i++){
        assert(i+md+1-l<=xd);
        assert(i+md+1-l>md);
        compp(a[i],a[i+md+1-l]);
    }
    vector<int> vi = visit();
    //if(vi.size()!=x)assert(0);
    x = 0;
    int ind = 0;
    for(int i = l;i<=md;i++){
        assert(i+md+1-l<=xd);
        assert(i+md+1-l>md);
        if(a[i+md+1-l]>n){
            if(inc){
                swap(a[i],a[i+(md+1-l)]);
            }
        }else if(a[i]>n){
            if(!inc){
                swap(a[i],a[i+(md+1-l)]);
            }
        }else{
            if(ind>=vi.size())continue;
            if((!inc)^(!vi[ind])){
                swap(a[i],a[i+(md+1-l)]);
            }
            ind++;
        }
    }
    bitonic(l,md,inc);
    bitonic(md+1,r,inc);
}
void solve(int N,int V){
    n = N;
    xd = 1;
    while(xd<N)xd*=2;
    for(int i = 1;i<=xd;i++){
        a[i] = i;
    }
    bitonic(1,xd,1);
    vector<int> ans;
    for(int i = xd-N+1;i<=xd;i++){
        ans.push_back(a[i]);
    }
    answer(ans);
}
Compilation message (stderr)
swaps.cpp: In function 'void bitonic(int, int, bool)':
swaps.cpp:42:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             if(ind>=vi.size())continue;
      |                ~~~^~~~~~~~~~~| # | 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... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |