Submission #1303734

#TimeUsernameProblemLanguageResultExecution timeMemory
1303734JahonaliXArranging Shoes (IOI19_shoes)C++20
10 / 100
1096 ms11184 KiB
#include "shoes.h"
#include <bits/stdc++.h>

using namespace std;

long long count_swaps(vector<int> s) {
    int n = s.size() / 2;
    long long ans = 0;
    while (n) {
        map<int, int> mp;
        for (int i = n * 2 - 1; i >= 0; --i) mp[s[i]] = i;
        int x = 1e9;
        for (int i = 0; i < n * 2; ++i) {
            if (s[i] < 0) continue;
            x = min(x, mp[-s[i]] + i + (mp[-s[i]] > i) - 1);
        }
        ans += x;
        for (int i = 0; i < n * 2; ++i) {
            if (s[i] < 0) continue;
            if (x == mp[-s[i]] + i + (mp[-s[i]] > i) - 1) {
                s.erase(s.begin() + max(mp[-s[i]], i));
                s.erase(s.begin() + min(i, mp[-s[i]]));
                n--;
                break;
            }
        }
    }
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...