#include <bits/stdc++.h>
using namespace std;
int main(){
	int n, k;
	cin >> n >> k;
	int a[n];
	for(int i = 0; i < n; i++){
		cin >> a[i];
	}
	sort(a, a+n);
	int mn = a[n-1];
	if(a[n-1] == 0){
		for(int i = 0; i < n; i++) cout << 0 << " ";
	}
	for(int i = n-1; i > 1; i--){
		mn = min(mn, a[i]);
		if(a[i-1] <= n-i && mn > 0){
			if(n-i == k){
				for(int j = i; j < n; j++){
					cout << a[j] << " ";
				}
				for(int j = 0; j < i; j++){
					cout << a[j] << " ";
				}
				return 0;
			}
		}
		mn--;
	}
	cout << -1 << endl;
}
| # | 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... |