제출 #1336023

#제출 시각아이디문제언어결과실행 시간메모리
1336023kawhiet정렬하기 (IOI15_sorting)C++20
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
#include "sorting.h"
using namespace std;

int n, m;
vector<int> s, x, y;

int findSwapPairs(int N, int S[], int M, int X[], int Y[], int p[], int q[]) {
    n = N;
    m = M;
    s.assign(S, S + N);
    x.assign(X, X + M);
    y.assign(Y, Y + M);
    vector<int> pos(n);
    for (int i = 0; i < n; i++) {
        pos[s[i]] = i;
    }
    int sz = 0;
    auto swp = [&](int i, int j) {
        p[sz] = i;
        q[sz] = j;
        sz++;
        swap(pos[s[i]], pos[s[j]]);
        swap(s[i], s[j]);
    };
    swp(0, pos[0]);
    swp(1, pos[1]);
    for (int i = 0; i < n; i++) {
        if (s[i] != i) {
            swp(i, pos[i]);
        }
    }
    if (sz & 1) {
        swp(0, 0);
    }
    return sz;
}
#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...