제출 #422706

#제출 시각아이디문제언어결과실행 시간메모리
422706vanic정렬하기 (IOI15_sorting)C++14
0 / 100
1 ms332 KiB
#include "sorting.h"
#include <algorithm>

using namespace std;

const int maxn=2e5+5;

int pos[maxn];

int findSwapPairs(int n, int l[], int m, int x[], int y[], int p[], int q[]){
	for(int i=0; i<n; i++){
		pos[l[i]]=i;
	}
	int br=2;
	int dr;
	for(int i=0; i<n-2; i++){
		swap(l[x[i]], l[y[i]]);
		swap(pos[l[x[i]]], pos[l[y[i]]]);
		p[i]=pos[br];
		q[i]=br;
		dr=l[br];
		swap(l[pos[dr]], l[pos[br]]);
		swap(pos[br], pos[dr]);
		br++;
	}
	int sol;
	if(l[0]==0){
		sol=n-2;
	}
	else{
		sol=n-1;
		swap(l[x[n-2]], l[y[n-2]]);
		swap(pos[l[x[n-2]]], pos[l[y[n-2]]]);
		p[n-2]=0;
		if(l[0]!=0){
			q[n-2]=1;
		}
		else{
			q[n-2]=0;
		}
	}
	return sol;
}


컴파일 시 표준 에러 (stderr) 메시지

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:10:39: warning: unused parameter 'm' [-Wunused-parameter]
   10 | int findSwapPairs(int n, int l[], int m, int x[], int y[], int p[], int q[]){
      |                                   ~~~~^
#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...