#include "swaps.h"
#include<bits/stdc++.h>
using namespace std;
template<typename T>
using vec = vector<T>;
using ll = long long;
using vll = vec<ll>;
using pll = pair<ll,ll>;
#define pb push_back;
#define dbg(x) if(1) cerr << #x << ": " << x << endl;
int n;
void sched(int a, int b) {
if(a >= n or b >= n) return;
a++;b++;
// cerr << a << " " << b << endl;
schedule(a,b);
}
void solve(int N, int V) {
n = N;
int nPow = ceil(log2(N));
int nPad = 1<<nPow;
for(int i = 1; i <= nPow; i++) {
int blkSize = (1<<i);
for(int j = blkSize / 2; j >= 1; j /= 2) {
for(int k = 0; k < N; k += j * 2) {
for(int l = 0; l < j; l++) {
cerr << j << " " << k << " " << l << endl;
if((k/blkSize) % 2 == 0) {
sched(k+l,k+l+j);
} else {
sched(k+l+j,k+l);
}
}
}
visit();
}
}
vec<int> ans(N);
iota(ans.begin(),ans.end(),1);
answer(ans);
}
/*
8 500
1 2 3 4 5 6 7 8
*/
# | 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... |