Submission #83137

#TimeUsernameProblemLanguageResultExecution timeMemory
83137luciocfKarte (COCI18_karte)C++14
120 / 120
261 ms12436 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...