제출 #1334542

#제출 시각아이디문제언어결과실행 시간메모리
1334542sporknivesArranging Shoes (IOI19_shoes)C++20
30 / 100
1095 ms3996 KiB
#include <bits/stdc++.h>
#include "shoes.h"
using namespace std;
typedef long long ll;

long long count_swaps(std::vector<int> s) {
	vector<int> s2;
	for(int x: s) {
		if(x>0) s2.push_back(x);
	}
	sort(s2.begin(),s2.end());
	int n = s.size();
	int ans=INT_MAX;
	do {
		vector<int> target;
		for(int x: s2) {
			target.push_back(-x);
			target.push_back(x);
		}
		
		
		//for(int x: target)cout<<x<<" ";
		//cout<<"\n";
		vector<int> s_copy = s;
		int cnt=0;
		for(int i=0;i<n;i++) {
			int idx=0;
			for(int j=i;j<n;j++) {
				if(s[j]==target[i]) {
					idx=j;
					break;
				}
			}
			
			while(idx>i) {
				swap(s[idx],s[idx-1]);
				idx--;
				cnt++;
			}
		}
		
		//cout<<cnt<<"\n";
		s = s_copy;
		ans=min(ans,cnt);
	} while(next_permutation(s2.begin(),s2.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...