답안 #972831

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
972831 2024-05-01T08:42:56 Z vjudge1 순열 (APIO22_perm) C++17
71.2154 / 100
10 ms 1372 KB
#include "perm.h"
#include <bits/stdc++.h>

using namespace std;

#define scd(t) scanf("%d", &t)
#define sclld(t) scanf("%lld", &t)
#define forr(i, j, k) for (int i = j; i < k; i++)
#define frange(i, j) forr(i, 0, j)
#define all(cont) cont.begin(), cont.end()
#define mp make_pair
#define pb push_back
#define f first
#define s second
typedef long long int lli;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<bool> vb;
typedef vector<lli> vll;
typedef vector<string> vs;
typedef vector<pii> vii;
typedef vector<vi> vvi;
typedef map<int, int> mpii;
typedef set<int> seti;
typedef multiset<int> mseti;
typedef long double ld;

vi construct_permutation(long long k)
{
	vi vec;
	int n = 0;
	k--;
	while(k) {
		int lo = 1;
		int hi = 60;
		while(lo != hi) {
			int mid = (lo+hi+1)/2;
			if((1LL<<mid)-1<=k) {
				lo = mid;
			}
			else hi=mid-1;
		}
		k-=(1LL<<lo)-1;
		vec.pb(lo);
	}
	

	vi out;
	int c = 0;
	for(auto e : vec) {
		for(int i=c+e-1; i>=c; i--) {
			out.pb(i);
		}
		c+=e;
	}
	reverse(all(out));
	// printf("%lld\n", k);
	// for(auto e : out) printf("%d ", e);
	// printf("\n");
	return out;
}

Compilation message

perm.cpp: In function 'vi construct_permutation(long long int)':
perm.cpp:31:6: warning: unused variable 'n' [-Wunused-variable]
   31 |  int n = 0;
      |      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Partially correct 1 ms 348 KB Partially correct
4 Partially correct 1 ms 348 KB Partially correct
5 Partially correct 4 ms 604 KB Partially correct
6 Partially correct 4 ms 604 KB Partially correct
7 Partially correct 6 ms 856 KB Partially correct
8 Partially correct 10 ms 1116 KB Partially correct
9 Correct 1 ms 348 KB Output is correct
10 Partially correct 10 ms 1372 KB Partially correct
11 Partially correct 8 ms 1116 KB Partially correct
12 Partially correct 7 ms 856 KB Partially correct
13 Partially correct 8 ms 1116 KB Partially correct