제출 #1218866

#제출 시각아이디문제언어결과실행 시간메모리
1218866vidux정렬하기 (IOI15_sorting)C++17
20 / 100
1 ms328 KiB
#include "sorting.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef pair<ll, ll> pll; typedef vector<ll> vl; const ll LLINF = 1e18; int findSwapPairs(int N, int a[], int M, int X[], int Y[], int P[], int Q[]) { int n = N; int l = 0, r = M; auto opCnt = [&]() -> ll { vi pos(n); vi b(n); ll cnt = 0; for (int i = 0; i < n; i++) pos[a[i]] = i, b[i] = a[i]; for (int i = 0; i < n; i++) { if (pos[i] != i) { int p = pos[i]; swap(b[i], b[p]); swap(pos[i], pos[b[p]]); P[cnt] = i; Q[cnt] = p; cnt++; } } return cnt; }; int ans = opCnt(); //cout << ans << endl; //for (int i = 0; i < ans; i++) cout << P[i] << " " << Q[i] << endl; if (Y[0] == 1 && ans%2) P[ans] = 0, Q[ans++] = 1; return ans; }
#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...