#include <bits/stdc++.h>
#include "swaps.h"
using namespace std;
using vi = vector<int>;
using pi = pair<int,int>;
void recSort(int n, vi &v) {
if(n == 1) return;
if(n == 2) {
schedule(v[0], v[1]);
vi tmp = visit();
return;
}
vi a, b;
for(int i=n-1; i>=0; i-=2) {
if(i) schedule(v[i-1], v[i]);
a.push_back(v[i]);
if(i) b.push_back(v[i-1]);
}
reverse(a.begin(), a.end());
reverse(b.begin(), b.end());
vi tmp = visit();
recSort((int)a.size(), a);
recSort((int)b.size(), b);
int X = n-2;
if(n%2==0) ++X;
for(int i=X; i>0; i-=2) {
schedule(v[i-1], v[i]);
}
tmp = visit();
}
void solve(int N, int V) {
vi v;
for(int i=1; i<=N; ++i) v.push_back(i);
recSort(N, v);
reverse(v.begin(), v.end());
answer(v);
}
| # | 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... |