Submission #980631

# Submission time Handle Problem Language Result Execution time Memory
980631 2024-05-12T09:32:16 Z Nexus Permutation (APIO22_perm) C++17
91.3333 / 100
1 ms 560 KB
#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 time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Partially correct 1 ms 348 KB Partially correct
6 Correct 1 ms 432 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Partially correct 1 ms 348 KB Partially correct
9 Correct 1 ms 560 KB Output is correct
10 Partially correct 1 ms 348 KB Partially correct
11 Partially correct 1 ms 348 KB Partially correct
12 Partially correct 1 ms 348 KB Partially correct
13 Partially correct 1 ms 348 KB Partially correct