Submission #713723

#TimeUsernameProblemLanguageResultExecution timeMemory
713723europiumArranging Shoes (IOI19_shoes)C++17
10 / 100
17 ms2252 KiB
#include "shoes.h"
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <numeric>
#include <cmath>
#include<iterator>
#include <set>
#include <map>
#include <math.h>
#include <iomanip>
#include <unordered_set>
using namespace std;

using ll = long long;

ll count_swaps(vector<int> a) {
	ll n = a.size();
	ll ans = 0;

	vector<bool> used(n);

	for (ll i = 0; i < n; i++){
		if (used[i]) continue;

		ll j = i + 1;
		ll val = 0;

		while (a[j] != -a[i] && used[j]){
			if (!used[j]) val++;
			j++;
		}

		if (a[i] > 0) ans += val + 1;
		else ans += val;

		used[i] = true;
		used[j] = true;
	}

	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...