Submission #980605

#TimeUsernameProblemLanguageResultExecution timeMemory
980605NexusPermutation (APIO22_perm)C++17
10 / 100
1 ms348 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 pow(ll X,ll Y) { if(!Y)return 1; if(Y&1)return X*pow(X,Y-1); ll ret=pow(X,Y/1); 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-=pow(2,x); for(ll i=62;i>=0;--i) { if(k>=pow(2,i))k-=pow(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...