Submission #292680

#TimeUsernameProblemLanguageResultExecution timeMemory
292680aymanrsSorting (IOI15_sorting)C++14
20 / 100
1 ms512 KiB
#include <bits/stdc++.h>
using namespace std;
int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]){
	int r = 0;
	if(Y[0] == 1 && N >= 2){ 
		for(int i = 2;i < N;i++){
			if(S[i] == 0){
				swap(S[0], S[1]);
				if(S[0] == 1) P[r] = 1;
				else P[r] = 0;
				Q[r++] = i;
				swap(S[P[r-1]], S[Q[r-1]]);
			} else if (S[i] == 1) {
				swap(S[0], S[1]);
				if(S[0] == 0) P[r] = 1;
				else P[r] = 0;
				Q[r++] = i;
				swap(S[P[r-1]], S[Q[r-1]]);
			}
		}
		for(int i = 2;i < N;i++){
			if(S[i] != i && S[i] > 1){
				swap(S[0], S[1]);
				P[r] = i;
				Q[r++] = S[i];
				swap(S[i], S[S[i]]);
				i--;
			}
		}
		if(S[0] != 0){
			swap(S[0], S[1]);
			P[r] = 0;
			Q[r++] = 0;
		}
		return r;
	}
	for(int i = 0;i < N;i++){
		if(S[i] != i){
			P[r] = i;
			Q[r++] = S[i];
			swap(S[i], S[S[i]]);
			i--;
		}
	}
	return r;
}

Compilation message (stderr)

sorting.cpp: In function 'int findSwapPairs(int, int*, int, int*, int*, int*, int*)':
sorting.cpp:3:39: warning: unused parameter 'M' [-Wunused-parameter]
    3 | int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]){
      |                                   ~~~~^
sorting.cpp:3:46: warning: unused parameter 'X' [-Wunused-parameter]
    3 | int findSwapPairs(int N, int S[], 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...