Submission #980631

#TimeUsernameProblemLanguageResultExecution timeMemory
980631NexusPermutation (APIO22_perm)C++17
91.33 / 100
1 ms560 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const ll N=1e6+9,M=2e18+9,mod=1e9+7; ll a[66],q,k,x,y,z; vector<int>v; ll po(ll X,ll Y) { if(!Y)return 1; if(Y&1)return X*po(X,Y-1); ll ret=po(X,Y/2); return ret*ret; } ll log2(ll k) { ll g=0; while(k>1)k/=2,++g; return g; } vector<int>construct_permutation(ll k) { x=log2(k); v.clear(); y=x-1; k-=po(2,x); for(ll i=62;i>=0;--i) { if(k>=po(2,i))k-=po(2,i),a[i]=1,++y;else a[i]=0; } for(ll i=0;i<x;++i) { if(a[i])v.push_back(y),--y; v.push_back(i); } return v; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...