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 <bits/stdc++.h>
using namespace std;
const int maxn = 5e5+10;
int num[maxn];
int main(void)
{
	int n, k;
	cin >> n >> k;
	for (int i = 1; i <= n; i++)
		cin >> num[i];
	sort(num+1, num+n+1);
	bool ok = 1;
	for (int i = 1; i <= n-k; i++)
		if (num[i] > k) ok = 0;
	if (!ok)
	{
		cout << "-1\n";
		return 0;
	}
	int qtd = 0;
	for (int i = n-k+1; i <= n; i++)
	{
		if (qtd >= num[i]) ok = 0;
		qtd++;
	}
	if (!ok)
	{
		cout << "-1\n";
		return 0;
	}
	for (int i = 1; i < n-k; i++)
		cout << num[i] << " ";
	if (k != n) cout << num[n-k];
	for (int i = n; i >= n-k+1; i--)
		cout << " " << num[i];
	cout << "\n";
}
| # | 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... |