제출 #743768

#제출 시각아이디문제언어결과실행 시간메모리
743768Abrar_Al_Samit정렬하기 (IOI15_sorting)C++17
0 / 100
2 ms368 KiB
#include <bits/stdc++.h>
#include "sorting.h"
using namespace std;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
	if(N<3) {

	}

	int at[N];
	for(int i=0; i<N; ++i) {
		at[S[i]] = i;
	}	

	for(int i=0; i<N-2; ++i) {
		swap(S[X[i]], S[Y[i]]);
		at[S[0]] = 0;
		at[S[1]] = 1;

		int pos = N-i-1;

		if(at[pos]==pos) {
			P[i] = Q[i] = 0;
		} else {
			P[i] = at[pos], Q[i] = pos;
			swap(S[pos], S[at[pos]]);
			at[S[at[pos]]] = at[pos];
			at[pos] = pos;
		}

		if(i==N-3) {
			if(at[0]==0) return i+1;
			else {
				P[i+1] = Q[i+1] = 0;
				return i+2;
			}
		}
	}
}


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

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:5:39: warning: unused parameter 'M' [-Wunused-parameter]
    5 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) {
      |                                   ~~~~^
sorting.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#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...