#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, k; cin >> n >> k;
    multiset<int> x;
    for(int i = 0; i < n; i++){
        int a; cin >> a;
        x.insert(a);
    }
    vector<int> ns(n);
    for(int i = 0; i < n; i++){
        if(*x.begin() > k || i+k == n){
            ns[i] = *x.rbegin();
            if(ns[i] < k){
                ns.clear();
                break;
            }
            x.erase(prev(x.end()));
            k--;
            continue;
        }
        ns[i] = *x.begin();
        x.erase(x.begin());
    }
    if(ns.size() == 0){
        cout << -1 << "\n";
        return 0;
    }
    reverse(ns.begin(), ns.end());
    for(int i = 0; i < n; i++){
        cout << ns[i] << " ";
    }cout << "\n";
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |