Submission #638484

# Submission time Handle Problem Language Result Execution time Memory
638484 2022-09-06T08:59:32 Z minhnhatnoe Permutation (APIO22_perm) C++17
91.3333 / 100
2 ms 340 KB
#include "perm.h"
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

vector<int> construct_permutation(long long k){
    deque<long double> a;
    ll val = 63 - __builtin_clzll(k);
    for (ll i=0; i<val; i++){
        a.push_back(i+1);
    }
    for (ll i=val-1; i>=0; i--){
        if ((k & (1LL<<i)) == 0) continue;
        a.push_front(a[a.size() - i - 1] + 0.5);
    }
    // for (int i=0; i<a.size(); i++){
    //     cout << a[i] << " ";
    // }
    // cout << "\n";
    deque<long double> b = a;
    sort(b.begin(), b.end());
    vector<int> result(a.size());
    for (int i=0; i<a.size(); i++){
        result[i] = lower_bound(b.begin(), b.end(), a[i]) - b.begin() ;
        // cout << result[i] << " ";
    }
    // cout << endl;
    return result;
}
// signed main(){
//     construct_permutation(0b11);
// }

Compilation message

perm.cpp: In function 'std::vector<int> construct_permutation(long long int)':
perm.cpp:23:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<long double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for (int i=0; i<a.size(); i++){
      |                   ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Partially correct 2 ms 340 KB Partially correct
6 Correct 2 ms 340 KB Output is correct
7 Correct 2 ms 340 KB Output is correct
8 Partially correct 2 ms 340 KB Partially correct
9 Correct 2 ms 340 KB Output is correct
10 Partially correct 2 ms 340 KB Partially correct
11 Partially correct 2 ms 340 KB Partially correct
12 Partially correct 2 ms 340 KB Partially correct
13 Partially correct 2 ms 340 KB Partially correct