#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> l[200001],r[200001];
long long count_swaps(std::vector<int> s)
{
for(int i=0;i<s.size();i++)
{
if(s[i]<0)l[-s[i]].push_back(i);
else r[s[i]].push_back(i);
}
long long ans=0;
vector<pair<int,int> > v;
for(int i=0;i<s.size();i++)
{
for(int j=0;j<l[i].size();j++)
{
if(l[i][j]>r[i][j])ans++;
v.push_back({min(l[i][j],r[i][j]),max(l[i][j],r[i][j])});
}
}
//cout<<ans<<endl;
for(int i=0;i<v.size();i++)
{
//cout<<v[i].first<<" "<<v[i].second<<endl;
for(int j=i+1;j<v.size();j++)
{
if(v[i].first<v[j].first&&v[j].second<v[i].second)ans+=2;
if(v[i].first<v[j].first&&v[j].first<v[i].second&&v[i].second<v[j].second)ans++;
swap(v[i],v[j]);
if(v[i].first<v[j].first&&v[j].second<v[i].second)ans+=2;
if(v[i].first<v[j].first&&v[j].first<v[i].second&&v[i].second<v[j].second)ans++;
swap(v[i],v[j]);
}
}
return ans;
}
# | 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... |