#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vll = vector<ll>;
const int MAX_N = 200001;
ll count_swaps(vector<int> owo)
{
ll n = owo.size();
vll arr;
for(auto num:owo)
arr.push_back(num);
vll cnt(MAX_N,-1);
vector<vll> val(MAX_N,vll());
ll curr=2;
for(int i=0;i<n;i++)
{
if(arr[i]<0)
continue;
val[arr[i]].push_back(curr);
arr[i]=curr;
curr+=2;
}
for(int i=0;i<n;i++)
{
if(arr[i]>0)
continue;
cnt[abs(arr[i])]+=1;
arr[i]=val[abs(arr[i])][cnt[abs(arr[i])]]-1;
}
ll ans = 0;
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
ans += arr[i] > arr[j];
return ans;
}
/*
int main()
{
cout << count_swaps({-2, 2, 2, -2, -2, 2}) << endl;
}
*/
# | 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... |