Submission #1335538

#TimeUsernameProblemLanguageResultExecution timeMemory
1335538kawhiet정렬하기 (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;
    for (int i = 0; i < n; i++) {
        if (s[i] != i) {
            int j = pos[i];
            p[sz] = i;
            q[sz] = j;
            sz++;
            swap(pos[s[i]], pos[s[j]]);
            swap(s[i], s[j]);
        }
    }
    if (m & 1) {
        p[sz] = 0;
        q[sz] = 1;
        swap(s[0], s[1]);
        sz++;
    }
    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...