Submission #416524

#TimeUsernameProblemLanguageResultExecution timeMemory
416524aris12345678Arranging Shoes (IOI19_shoes)C++14
0 / 100
1 ms204 KiB
#include <bits/stdc++.h>
#include "shoes.h"
using namespace std;

const int mxN = 200005;

long long count_swaps(vector<int> s) {
    int n = s.size();
    map<int, deque<int> > mp;
    for(int i = 0; i < n; i++)
        mp[s[i]].push_back(i);
    long long ans = 0;
    for(int i = 0; i < n; i++) {
        if(mp[s[i]].front() != i) continue;
        if(s[i] < 0) {
            if(mp[-s[i]].front()+1 == i) {
                mp[s[i]].pop_front();
                mp[-s[i]].pop_front();
            } else {
                ans += abs(mp[s[i]].front()-mp[-s[i]].front());
                mp[s[i]].pop_front();
                mp[-s[i]].pop_front();
            }
        } else {
            if(mp[-s[i]].front()-1 == i) {
                mp[s[i]].pop_front();
                mp[-s[i]].pop_front();
            } else {
                ans += abs(mp[s[i]].front()-mp[-s[i]].front());
                mp[s[i]].pop_front();
                mp[-s[i]].pop_front();
            }
        }
    }
    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...