제출 #1190274

#제출 시각아이디문제언어결과실행 시간메모리
1190274simona1230Sorting (IOI15_sorting)C++20
0 / 100
0 ms320 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; if(pos[0]!=0) { pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); P[num]=pos[0]; Q[num]=0; pos[S[0]]=pos[0]; swap(S[0],S[pos[0]]); num++; } if(pos[1]>1) { pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); P[num]=pos[1]; Q[num]=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) { pos[S[X[num]]]=Y[num]; pos[S[Y[num]]]=X[num]; swap(S[X[num]],S[Y[num]]); P[num]=pos[i]; Q[num]=i; pos[S[i]]=pos[i]; swap(S[pos[i]],S[i]); 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...