제출 #1362326

#제출 시각아이디문제언어결과실행 시간메모리
1362326serendipitous순열 (APIO22_perm)C++20
10 / 100
351 ms327680 KiB
#include "perm.h"
using namespace std;
using ll = long long;

std::vector<int> construct_permutation(long long k)
{


	ll kcpy = k-1;
	vector<int> sizes;
	int len = 0;
    int e = __lg(k)+1;
    while(kcpy > 0) {
        while((1 << e)-1 > kcpy) --e;
        len += e;
		sizes.push_back(e);
        kcpy -= (1 << e)-1;
    }

	vector<int> p;
	int end = len;
	for(int s: sizes) {
		for(int i = end - s + 1; i <= end; ++i) {
			p.push_back(i-1);
		}
		end -= s;
	}
	return p;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…