# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
972161 | 2024-04-30T07:59:08 Z | tamir1 | Permutation (APIO22_perm) | C++17 | 2 ms | 500 KB |
#include "perm.h" #include <iostream> #define ll long long using namespace std; vector<int> construct_permutation(long long k) { ll t=1,i,j,idx,idx1,cnt[200],sum=0; vector<ll> v,u; while(true){ if(t>k) break; v.push_back(t); t=t*2; } fill(cnt,cnt+200,0); while(k>0){ for(i=v.size()-1;i>=0;i--){ if(v[i]<=k){ u.push_back(i); k-=v[i]; break; } } } sum=u[0]; idx1=0; for(i=1;i<u.size();i++){ sum++; cnt[u[i]]++; } idx=sum; vector<int> ans(sum); for(i=ans.size()-1;i>=0;i--){ if(cnt[sum-idx]>0){ ans[i]=idx1; idx1++; cnt[sum-idx]--; } else{ idx--; ans[i]=idx; } } return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 1 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 | 348 KB | Output is correct |
7 | Correct | 1 ms | 348 KB | Output is correct |
8 | Partially correct | 2 ms | 500 KB | Partially correct |
9 | Correct | 1 ms | 348 KB | Output is correct |
10 | Partially correct | 1 ms | 432 KB | Partially correct |
11 | Partially correct | 1 ms | 348 KB | Partially correct |
12 | Partially correct | 2 ms | 348 KB | Partially correct |
13 | Partially correct | 2 ms | 348 KB | Partially correct |