#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){
if(k != 0) cout << -1 << endl;
else{
for(int i = 0; i < n; i++) cout << 0 << " ";}
return 0;
}
if(n == 1){
if(a[0] == 0 && k == 0) cout << 0 << endl;
else if(a[0] != 0 && k) cout << a[0] << endl;
else cout << -1 << endl;
return 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-1; j > -1; j--) cout << a[j] << " ";
for(int j = n-1; j > i-1; 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... |