Submission

Status:

(PP)(PPPPP)(------)(--)

Score: 60

User: njoop

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

Language: cpp

Time: 0.003 second

Submitted On: 2025-05-18 11:40:17

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

int idx=1, arr[100010];
std::vector<int> v;

std::vector<int> inversion(int N, int S) {
    std::vector<int> ans = {};
    for(int i=1; i<=N; i++) {
        v.push_back(i);
    }
    if(N > 8) return ans;
    for(int i=N-1; i>=0; i--) {
        if(i <= S) {
            arr[idx] = v[v.size()-1];
            v.pop_back();
            S -= i;
        } else {
            arr[idx] = v[0];
            v.erase(v.begin());
        }
        idx++;
    }
    for(int i=1; i<idx; i++) {
        ans.push_back(arr[i]);
    }
    return ans;
}