Submission
Status:
(PP)(P--PP)(PPPPPP)(--)
Score: 50
User: njoop
Problemset: สร้างคู่ผกผัน (Inversion)
Language: cpp
Time: 0.002 second
Submitted On: 2025-05-18 11:39:59
#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(S > N) 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;
}