Submission #991349

#TimeUsernameProblemLanguageResultExecution timeMemory
991349MarwenElarbiArranging Shoes (IOI19_shoes)C++17
25 / 100
406 ms147400 KiB
#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define ll long long
#define pb push_back
const int nax=200005;
long long count_swaps(std::vector<int> s) {
    int n=s.size();
    map<int,queue<int>> mp;
    bool vis[n];
    memset(vis,0,sizeof vis);
    for (int i = 0; i < n; ++i)
    {
        mp[s[i]].push(i);
    }
    long long ans=0;
    int cur=0;
    for (int i = 0; i < n; ++i)
    {
        if(vis[i]) continue;
        auto u=mp[-s[i]].front();
        mp[-s[i]].pop();
        mp[s[i]].pop();
        vis[i]=vis[u]=true;
        ans+=(u-i-cur-1)+(s[i]>0);
        cur++;  
    }
    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...