# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1174933 | Clan328 | Arranging Shoes (IOI19_shoes) | C++17 | 1104 ms | 1114112 KiB |
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
long long count_swaps(std::vector<int> s) {
int n = s.size()/2;
if (n == 0) return 0;
// Compress
set<int> visited;
for (int i = 0; i < 2*n; i++) {
visited.insert(abs(s[i]));
}
map<int, int> mapper;
int idx = 1;
for (auto x : visited) {
mapper[x] = idx++;
}
for (int i = 0; i < 2*n; i++) {
if (s[i] > 0) s[i] = mapper[s[i]];
else s[i] = -mapper[-s[i]];
}
vector<vector<int>> left(n+1), right(n+1);
for (int i = 0; i < 2*n; i++) {
if (s[i] < 0) left[abs(s[i])].push_back(i);
else right[abs(s[i])].push_back(i);
}
# | 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... |