Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
114534653 Дорешивание:
k4droid3
1509E - 10 C++17 (GCC 9-64) Полное решение 30 мс 400 КБ 2021-04-29 16:05:44 2021-04-29 16:05:45
→ Исходный код
#include <iostream>
#include <algorithm>

#define rep(i,e) for(int i = 0; i < e; i++)
#define reps(i,s,e) for(ll i = s; i <= e; i++)
#define rev(i,s) for(ll i = s; ~i; i--)
#define all(x) (x).begin(), (x).end()
#define sz(x) (int)(x.size())
#define pb push_back
#define ff first
#define ss second

using namespace std;
typedef long long ll;
const ll MOD=1000000007;

void solve(){
    ll n, k;
    cin >> n >> k;

    if(n <= 60 and k > (1ll<<(n-1))){
        cout << -1 << '\n';
        return;
    }
    k--;

    int arr[n];
    rep(i, n) arr[i] = n-i;
    
    int l=0, r=0;
    // cout << __lg(k) + 1 << '\n';
    while(r <= __lg(k)){
        if(k&(1ll<<r))r++;
        else{
            sort(arr+1+l-1, arr+r+1);
            r++; l=r;
        }
        // cout << l << ' ' << r << ": ";
        // rep(i, n) cout << arr[i] << ' ';
    }
    if(l != r) sort(arr+1+l-1, arr+r+1);

    rev(i, n-1) cout << arr[i] << ' '; cout << '\n';
}

int main(){
#ifdef k4droid3
    freopen("input.txt", "r", stdin);
#endif
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int t;
    cin >> t;
    while(t--)
        solve();
    
    return 0;
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования