This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<algorithm>
int N,K,a[500000],ans[500000];
using namespace std;
int main(){
  cin>>N>>K;
  for(int i=0;i<N;++i)cin>>a[i];
  sort(a,a+N);
  int b=0;
  while(b!=N&&a[b]<=K)++b;
  if(N-b>K){
    cout<<-1<<'\n';
  }else{
    int j=N-1,k=K;
    for(int i=N-K;i<N;++i){
      if(a[j]<k){
        cout<<-1<<'\n';return 0;
      }else{
        ans[i]=a[j];
        --j;--k;
      }
    }
    for(int i=0;i<N-K;++i){
      ans[i]=a[j];
      --j;
    }
    for(int i=0;i<N;++i){
      cout<<ans[i];if(i!=N-1)cout<<' ';
    }
    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... |