Submission

Status:

(PP)(-SSSS)(-SSSSS)(-S)

Subtask/Task Score:

{20/20}{0/40}{0/30}{0/10}

Score: 20

User: Dormon

Problemset: สร้างคู่ผกผัน (Inversion)

Language: cpp

Time: 0.002 second

Submitted On: 2025-05-26 16:04:38

#include <vector>
#include "inversion.h"

std::vector<int> inversion(int n, int k) {
    using namespace std;
    vector<int> ans(n);
    int cnt = 1;
    bool fin = false;
    for (int i = n - 1;i >= 0;i--){
        if (k >= i && i != 0){
            ans[i] = cnt;
            cnt++;
            k -= i;
        }
        else if (fin == false){
            ans[k] = cnt;
            cnt++;
            fin = true;
        }
    }
    for (int i = 0;i < n;i++)
        if (ans[i] == 0){
            ans[i] = cnt;
            cnt++;
        }
    return ans;
}