Submission #428122

#TimeUsernameProblemLanguageResultExecution timeMemory
428122haxormanSorting (IOI15_sorting)C++14
0 / 100
1091 ms344 KiB
#include "sorting.h" #include "bits/stdc++.h" using namespace std; const int mxN = 2e5 + 7; int n, m, arr[mxN]; int findSwapPairs(int N, int S[], int M, int X[], int Y[], int P[], int Q[]) { n = N, m = M; for (int i = 0; i < n; ++i) { arr[i] = S[i]; } int R = 0; bool ok = false; for (int ind = 0; ind < m && !ok; ++ind) { swap(arr[X[ind]], arr[Y[ind]]); ok = true; for (int i = 0; i < n; ++i) { if (arr[i] != i) { ok = false; } } if (ok) { P[ind] = Q[ind] = 0; ++R; break; } bool stop = false; for (int i = 0; i < n && !stop; ++i) { if (ind + 1 < m && (i == X[ind + 1] || i == Y[ind + 1])) continue; for (int j = 0; j < n && !stop; ++j) { if (arr[j] == i && i != j) { swap(arr[j], arr[i]); P[ind] = j, Q[ind] = i; ++R; stop = true; } } } ok = true; for (int i = 0; i < n; ++i) { if (arr[i] != i) { ok = false; } } } return R; }
#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...