Submission #1177446

#TimeUsernameProblemLanguageResultExecution timeMemory
1177446tkm_algorithmsPermutation (APIO22_perm)C++20
64.63 / 100
8 ms1604 KiB
/**
*    In the name of Allah
*    We are nothing and you're everything
**/
#include <bits/stdc++.h>
//#include "swap.h"
#include "perm.h"
using namespace std;
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
typedef long long ll;
//#define int ll
const char nl = '\n';
const int N = 3e5+10;
const int inf = 1e9;

vector<int> construct_permutation(long long k) {
	deque<int> ans;
	int start = 0, cnt = 0;
	for (int i = 0; i <= 60; ++i) {
		if ((1ll << i)&k) {
			cnt += 1;
			for (int j = i-1; j >= 0; --j) 
				ans.push_front(j+start);
			start += i;
		}
	}
	
	for (int j = 0; j <= cnt-2; ++j)
		ans.push_front(j+start);
	
	vector<int> a;
	for (auto i: ans)a.push_back(i);
	return a;
}

//int calc(vector<int> &c) {
	//int n = sz(c), sum = 0;
	//for (int i = 0; i < (1 << n); ++i) {
		//int onki = -1; bool ok = true;
		//for (int j = n-1; j >= 0; --j) 
			//if ((i & j) > 0) {
				//if (j >= onki){ok = false; break; }
				//onki = j;
			//}
		//if (ok)sum += 1;
		//if (ok) {
			//for (int j = n-1; j >= 0; --j)
				//if ((i & j) > 0)cout << c[j] << " ";
			//cout << nl;
		//}
	//}
	//return sum;
//}



//int main() {
	//ll k; cin >> k; 
	
	//vector<int> a = construct_permutation(k);
	//for (auto i: a)cout << i << " ";
	//return 0;
//}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...