#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
long long mergeAndCount(vector<pair<int, int>>& arr, int left, int mid, int right) {
    vector<pair<int, int>> temp;
    long long inversions = 0;
    int i = left, j = mid + 1;
    while (i <= mid && j <= right) {
        if (arr[i] <= arr[j]) { 
            temp.push_back(arr[i++]);
        } else {
            temp.push_back(arr[j++]);
            inversions += (mid - i + 1);
        }
    }
    while (i <= mid) {
        temp.push_back(arr[i++]);
    }
    while (j <= right) {
        temp.push_back(arr[j++]);
    }
    for (int k = 0; k < temp.size(); ++k) {
        arr[left + k] = temp[k];
    }
    return inversions;
}
long long mergeSortAndCount(vector<pair<int, int>>& arr, int left, int right) {
    long long inversions = 0;
    if (left < right) {
        int mid = left + (right - left) / 2;
        inversions += mergeSortAndCount(arr, left, mid);
        inversions += mergeSortAndCount(arr, mid + 1, right);
        inversions += mergeAndCount(arr, left, mid, right);
    }
    return inversions;
}
long long countInversions(vector<pair<int, int>>& arr) {
    return mergeSortAndCount(arr, 0, arr.size() - 1);
}
long long count_swaps(vector<int> s) {
	vector<pair<int,int>>ord;
	int p1 = 1;
	int p2 = 2;
	for(int i :s){
		if(i<=0){
			ord.push_back({abs(i),p1});
			p1+=2;
		}
		else{
			ord.push_back({i,p2});
			p2+=2;
		}
		
		
	}
	// for(auto i:)
	return countInversions(ord);
}
// int main(){
	// cout<<count_swaps({-1,1,-1,1})<<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... |