# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1215749 | Szil | Arranging Shoes (IOI19_shoes) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
vector<int> v(2*n);
for (int &i : v) cin >> i;
vector<int> val;
for (int i : v) {
if (i > 0) val.emplace_back(i);
}
sort(val.begin(), val.end());
int ans = 1e9;
do {
vector<int> goal;
for (int i : val) {
goal.emplace_back(-i);
goal.emplace_back(i);
}
vector<bool> done(2*n);
vector<int> arr;
for (int i = 0; i < 2*n; i++) {
int j = 0;
for (; j < 2*n; j++) {
if (!done[j] && goal[j] == v[i]) {
break;
}
}
done[j] = 1;
arr.emplace_back(j);
}
int curr = 0;
for (int i = 0; i < 2*n; i++) {
for (int j = 0; j < i; j++) {
if (arr[j] > arr[i]) curr++;
}
}
ans = min(ans, curr);
} while (next_permutation(val.begin(), val.end()));
cout << ans << "\n";
}