Submission #1150885

#TimeUsernameProblemLanguageResultExecution timeMemory
1150885gygArranging Shoes (IOI19_shoes)C++20
10 / 100
1095 ms1114112 KiB
#include "shoes.h"
#include <bits/stdc++.h>
using namespace std;
#define sig signed
#define int long long
#define arr array 
#define vec vector 
const int N = 2e5 + 5;

int n;
arr<int, 2 * N> a;

int slv(vec<int> x) {
	if (x.empty()) return 0;

	int fr = -1, ans = 0;
	for (int i = 0; i < x.size(); i++) {
		if (x[i] >= 0) continue;
		fr = abs(x[i]);
		ans += i;
		x.erase(x.begin() + i);
		break;
	}
	for (int i = 0; i < x.size(); i++) {
		if (x[i] != fr) continue;
		ans += i;
		x.erase(x.begin() + i);
		break;
	}
	return ans + slv(x);
}

// SIZE OF A IS 2 * N
int count_swaps(vec<sig> _a) {
	n = _a.size() / 2;
	for (int i = 1; i <= 2 * n; i++) a[i] = _a[i - 1];

	vec<int> x;
	for (int i = 1; i <= 2 * n; i++) x.push_back(a[i]);
	int ans = slv(x);
	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...