제출 #1358841

#제출 시각아이디문제언어결과실행 시간메모리
1358841maya_sSorting (IOI15_sorting)C++20
16 / 100
1 ms348 KiB
#include "sorting.h"
#include<bits/stdc++.h>
using namespace std;
typedef int ll;

int findSwapPairs(int n, int s[], int m, int x[], int y[], int p[], int q[]) {\
	vector<ll> v(n);
	for(ll i = 0; i < n; i++) v[i] = s[i];
	swap(v[0], v[1]);
	ll zero_idx = -1, one_idx = -1;
	for(ll i = 0; i < n; i++) if(v[i] == 0) zero_idx = i;
	swap(v[1], v[zero_idx]);
	p[0] = 1, q[0] = zero_idx;
	swap(v[0], v[1]);
	for(ll i = 0; i < n; i++) if(v[i] == 1) one_idx = i;
	swap(v[1], v[one_idx]);
	p[1] = 1, q[1] = one_idx;
	ll cnt = 2;
	for(ll i = 2; i < n; i++){
		for(ll j = i+1; j < n; j++) if(v[j] == i){
			swap(v[0], v[1]);
			swap(v[i], v[j]);
			p[cnt] = i, q[cnt] = j;
			cnt++;
			break;
		}
	}
	if(v[0] == 1) {
		cnt++;
		p[cnt] = q[cnt] = 0;
	}
	return cnt;
}


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