제출 #1355353

#제출 시각아이디문제언어결과실행 시간메모리
1355353Charizard2021Arranging Shoes (IOI19_shoes)C++20
10 / 100
1096 ms58656 KiB
#include "shoes.h"
#include<bits/stdc++.h>
using namespace std;
long long count_swaps(vector<int> s){
	map<int, set<int> > mp;
	int n = (int)s.size()/2;
	vector<int> v;
	for(int i = 0; i < 2 * n; i++){
		mp[s[i]].insert(i);
		if(s[i] > 0){
			v.push_back(s[i]);
		}
	}
	sort(v.begin(), v.end());
	int ans = 1e9;
	do{
		map<int, set<int> > mp2 = mp;
		int sum = 0;
		for(int j = 0; j < (int)v.size(); j++){
			int idx = *mp2[-v[j]].begin();
			int idx2 = *mp2[v[j]].begin();
			int val1 = abs(idx - (2 * j));
			int val2 = abs(idx2 - (2 * j + 1));
			mp2[v[j]].erase(idx2);
			mp2[-v[j]].erase(idx);
			sum += val1 + val2;
		}
		sum /= 2;
		ans = min(ans, sum);
	} while(next_permutation(v.begin(), v.end()));
	return ans;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…