Submission #540473

#TimeUsernameProblemLanguageResultExecution timeMemory
540473beaconmcArranging Shoes (IOI19_shoes)C++14
25 / 100
336 ms145484 KiB
#include <bits/stdc++.h>
    
typedef long long ll;
#define FOR(i,x,y) for(ll i=x; i<y; i++)
using namespace std;
    
long long count_swaps(vector<int> s) {
    ll n = s.size();
    unordered_map<ll, queue<ll>> susmap;

    FOR(i,0,n){
        susmap[s[i]].push(i);
    }
    ll cur = 0;
    ll ans = 0;
    FOR(i,0,n){
        if (susmap[s[i]].size() == 0 || susmap[s[i]].front() != i){
            continue;
        }
        if (s[i] > 0){
            ans += abs(i*2 - susmap[-1*s[i]].front());
        }else{
            ans += abs(i*2+1 - susmap[-1*s[i]].front());
        }
        susmap[-1*s[i]].pop();
        susmap[s[i]].pop();
    }


    return ans;
}

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(std::vector<int>)':
shoes.cpp:14:8: warning: unused variable 'cur' [-Wunused-variable]
   14 |     ll cur = 0;
      |        ^~~
#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...