제출 #1190287

#제출 시각아이디문제언어결과실행 시간메모리
1190287simona1230Sorting (IOI15_sorting)C++20
0 / 100
1 ms328 KiB
#include "sorting.h" #include <bits/stdc++.h> using namespace std; //static FILE *_inputFile, *_outputFile; int num; int pos[200001]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { for(int i=0;i<N;i++) pos[S[i]]=i; pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); if(pos[0]!=0) { P[num]=pos[0]; Q[num]=0; pos[0]=0; pos[S[0]]=pos[0]; swap(S[0],S[pos[0]]); num++; pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); } if(pos[1]>1) { P[num]=pos[1]; Q[num]=0; pos[1]=0; pos[S[0]]=pos[1]; swap(S[0],S[pos[1]]); num++; } //for(int i=0;i<N;i++) // fprintf(_outputFile, "%d ", pos[S[i]]); for(int i=2;i<N;i++) { if(S[i]!=i) { P[num]=pos[i]; Q[num]=i; pos[S[i]]=pos[i]; swap(S[pos[i]],S[i]); num++; pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); } } if(pos[0]==0) num++; return num; }
#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...