제출 #1334429

#제출 시각아이디문제언어결과실행 시간메모리
1334429sporknivesArranging Shoes (IOI19_shoes)C++20
10 / 100
1095 ms3104 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> order;
	int n = s.size();
	
	bool marked[n]; memset(marked,false,sizeof(marked));
	for(int i=0;i<n;i++) {
		if(!marked[i]) {
			marked[i]=true;
			for(int j=i+1;j<n;j++) {
				if(abs(s[i])==abs(s[j]) && !marked[j]) {
					marked[j]=true;
					order.push_back(-abs(s[i]));
					order.push_back(abs(s[i]));
					break;
				}
			}
		}
	}
	
	//for(int x: order) cout<<x<<" ";
	//cout<<"\n";
	int ans=0;
	for(int i=0;i<n;i++) {
		int idx=0;
		for(int j=i;j<n;j++) {
			if(s[j]==order[i]) {
				idx=j;
				break;
			}
		}
		
		while(idx>i) {
			swap(s[idx],s[idx-1]);
			idx--;
			ans++;
		}
	}

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