# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
721596 | sunnat | Art Collections (BOI22_art) | C++17 | 1 ms | 208 KiB |
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 "art.h"
#include <iostream>
using namespace std;
int best_inv, cur_inv;
vector<int> order;
void solve(int N) {
for(int i = 1; i <= N; i ++)
order.push_back(i);
best_inv = publish(order);
for(int i = 1, k; i < N; i ++){
swap(order[i], order[0]);
cur_inv = publish(order);
swap(order[i], order[0]);
if(cur_inv < best_inv){
for(int j = i-1; j >= 0; j --)
swap(order[j], order[j+1]);
best_inv = cur_inv;
}
else{
k = (cur_inv - best_inv - 1) / 2 + 1;
for(int j = i; j > k; j --)
swap(order[j], order[j-1]);
best_inv -= i - k;
}
}
answer(order);
}
Compilation message (stderr)
# | 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... |