제출 #705454

#제출 시각아이디문제언어결과실행 시간메모리
705454josanneo22순열 (APIO22_perm)C++17
0 / 100
1 ms212 KiB
#include "perm.h"
#include<bits/stdc++.h>
using namespace std;

std::vector<int> construct_permutation(long long k)
{
	vector<int> ans;
	int cur = 0;
	vector<int> bit(64, 0);
	for (long long i = 0; i < 32; i++) {
		if (k & (1 << i)) bit[i] = 1;
	}
	for (int i = 0; i < 32; i++) {
		if (bit[i] == 0) continue;
		cout << i << '\n';
		for (int j = 0; j < i; j++) {
			ans.push_back(j);
		}
	}
	int n = ans.size();
	int cnt = 0, pre = n;
	for (int i = n - 1; i >= 0; i--) {
		ans[i] += cnt;
		if (ans[i] == cnt) {
			cnt += (pre - i);
			pre = i;
		}
	}
	return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:8:6: warning: unused variable 'cur' [-Wunused-variable]
    8 |  int cur = 0;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...