Submission #744479

#TimeUsernameProblemLanguageResultExecution timeMemory
744479Dan4LifePermutation (APIO22_perm)C++17
10 / 100
2 ms340 KiB
#include "perm.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
#define all(a) begin(a), end(a)

vector<int> construct_permutation(ll n)
{
	vector<int> ans;
    ll xd = 1, p=0;
    while(xd*2<=n) xd*=2, p++;
    if(xd==n){
		for(int i = 0; i < p; i++) ans.pb(i);
		return ans;
    }
    int cnt = 199;
	n--; ans.pb(cnt+1);
    for(int i = 0; i < p; i++){
        if(n&(1<<i)) ans.pb(cnt--);
        ans.pb(i);
    }
    vector<int> v;
    for(auto u : ans) v.pb(u); sort(all(v));
    for(auto &u : ans) u=lower_bound(all(v),u)-begin(v);
	return ans;
}

Compilation message (stderr)

perm.cpp: In function 'std::vector<int> construct_permutation(ll)':
perm.cpp:24:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   24 |     for(auto u : ans) v.pb(u); sort(all(v));
      |     ^~~
perm.cpp:24:32: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   24 |     for(auto u : ans) v.pb(u); sort(all(v));
      |                                ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...