#include "art.h"
// #include <algorithm>
using namespace std;
int NN;
vector<int> X;
bool compare(int a, int b) {
vector<int> V(2);
V[0] = a;
V[1] = b;
for (int i = 1; i <= NN; i++) {
if ((i != a) && (i != b)) {
V.push_back(i);
}
}
int x = publish(V);
V[0] = b;
V[1] = a;
int y = publish(V);
return x < y;
}
void sort(int i, int j) {
if (j - i > 1) {
int s = (i + j) / 2;
sort(i, s);
sort(s, j);
vector<int> Y(0);
int a = i, b = s;
while ((a < s) && (b < j)) {
if (compare(X[a], X[b])) {
Y.push_back(X[a]);
a++;
} else {
Y.push_back(X[b]);
b++;
}
}
while (a < s) {
Y.push_back(X[a]);
a++;
}
while (b < s) {
Y.push_back(X[b]);
b++;
}
for (int ii = 0; ii < Y.size(); ii++) {
X[i + ii] = Y[ii];
}
}
}
void solve(int N) {
NN = N;
X.resize(N);
for (int i = 0; i < N; i++) {
X[i] = i + 1;
}
sort(0, N);
answer(X);
}
# | 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... |