Submission #1215824

#TimeUsernameProblemLanguageResultExecution timeMemory
1215824AblablaArranging Shoes (IOI19_shoes)C++20
30 / 100
1096 ms3264 KiB
#include "shoes.h"
#include <bits/stdc++.h>

using namespace std;

long long count_swaps(vector<int> s) {
	int n = s.size() / 2;

	vector<int> index;
	for(int i = 0; i < 2*n; i++){
		if(s[i] < 0){
			index.push_back(i);
		}
	}

	int ans = 2e9 + 7;
	
	do{
		vector<int> mas = s;
		int akt = 0;

		for(int i = 0; i < n; i++){
			int keres = s[index[i]];
			int ind = 2*i;
			while(mas[ind] != keres){
				ind++;
			}
			while(ind > 2*i){
				swap(mas[ind - 1], mas[ind]);
				akt++;
				ind--;
			}

			keres *= -1;
			ind = 2*i + 1;
			while(mas[ind] != keres){
				ind++;
			}
			while(ind > 2*i + 1){
				swap(mas[ind - 1], mas[ind]);
				akt++;
				ind--;
			}
		}

		ans = min(ans, akt);
	} while(next_permutation(index.begin(), index.end()));

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