This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "shoes.h"
#include <bits/stdc++.h>
#define fs first
#define sc second
using namespace std;
long long count_swaps(vector<int> s) {
int n=s.size();
long long ans=0;
vector<queue<pair<int,int> > > cnt(n+1);
for(int i=0;i<n;i++){
int u=abs(s[i]);
if(!cnt[u].size() || cnt[u].front().fs==s[i]){
cnt[u].push({s[i],i});
}
else{
ans+=(i-cnt[u].front().sc-1);
if(s[i]<0){
ans+=2;
}
if(i==cnt[u].front().sc+1 && i%2==0){
ans+=2;
}
cnt[u].pop();
}
}
return ans/2;
}
# | 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... |