Submission #422921

#TimeUsernameProblemLanguageResultExecution timeMemory
422921donentsetoArranging Shoes (IOI19_shoes)C++14
30 / 100
35 ms4776 KiB
#include <bits/stdc++.h>
using namespace std;

const int maxn = 1024;
int n;
vector <pair <int, int> > pairs;
bool used [maxn];

long long count_swaps (vector <int> s){

	n = s.size ();
	long long ans = 0;
	for (int i = 0; i < n; i ++){
		if (used [i]) continue;
		used [i] = 1;
		for (int j = i + 1; j < n; j ++){
			if (!used [j] && s [i] + s [j] == 0){
				used [j] = 1;
				if (s [j] < 0) ans ++;
				pairs.push_back ({i, j});
				break;
			}
		}
	}
	n /= 2;
	for (int i = 0; i < n; i ++){
		for (int j = i + 1; j < n; j ++){
			if (pairs [j].second < pairs [i].second) ans += 2;
			else if (pairs [j].first < pairs [i].second) ans ++;
		}
	}
	return ans;

}

//int main (){

	//cout << count_swaps ({-2, 2, 2, -2, -2, 2}) << '\n';

//}
#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...