Submission #1215795

#TimeUsernameProblemLanguageResultExecution timeMemory
1215795Hora000Arranging Shoes (IOI19_shoes)C++20
30 / 100
1096 ms4672 KiB
#include<bits/stdc++.h>
#include "shoes.h"
using namespace std;

vector<int> s;
int n;

int check(vector<int> v){
	n = min(v.size(), s.size());
	int szaml = 0;
	for(int i = 0; i < n; i++){
		for(int j = i; j < n; j++){
			if(s[i] == v[j]){
				while(j > i && j > 0){
					swap(v[j], v[j - 1]);
					j--;
					szaml++;
				}
				break;
			}
		}
	}
	return szaml;
}

vector<int> create(vector<int> a){
	vector<int> r;
	for(auto x : a){
		r.push_back(-x);
		r.push_back(x);
	}
	return r;
}

long long count_swaps(std::vector<int> z) {
	s = z;
	vector<int> a;
	for(auto x : s) if(x > 0) a.push_back(x);
	int mini = INT_MAX;
	n = s.size();
	for(int i = 0; i < 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1; i++){
		mini = min(mini, check(create(a)));
		next_permutation(a.begin(), a.end());
	}
	return mini;
}
#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...