Submission #1177983

#TimeUsernameProblemLanguageResultExecution timeMemory
1177983KasymKPermutation (APIO22_perm)C++17
91.33 / 100
1 ms328 KiB
#include "bits/stdc++.h" using namespace std; #define ff first #define ss second #define all(v) v.begin(), v.end() #define ll long long #define pb push_back #define pii pair<int, int> #define pli pair<ll, int> #define pll pair<ll, ll> #define tr(i, c) for(auto i = c.begin(); i != c.end(); ++i) #define wr puts("----------------") template<class T>bool umin(T& a,T b){if(a>b){a=b;return 1;}return 0;} template<class T>bool umax(T& a,T b){if(a<b){a=b;return 1;}return 0;} vector<int> construct_permutation(ll k){ // if(k <= 90){ // vector<int> A; // for(int i = k-2; i >= 0; --i) // A.pb(i); // return A; // } vector<int> A; int a=0, b=-1; bool did=0; for(int i = 60; i >= 0; --i){ if(did){ A.pb(a++); if(k>>i&1) A.pb(b--); } did|=(k>>i&1); } unordered_map<int, int> mp; vector<int> v(all(A)); sort(all(v)); int op=-1; tr(it, v) mp[*it]=++op; v.clear(); tr(it, A) v.pb(mp[*it]); return v; } // int main(){ // int q; // scanf("%d", &q); // while(q--){ // ll k; // scanf("%lld", &k); // vector<int> v=construct_permutation(k); // tr(it, v) // printf("%d ", *it); // puts(""); // } // return 0; // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...