// File E.cpp created on 11.08.2025 at 20:06:59
#include <bits/stdc++.h>
using i64 = long long;
#ifdef DEBUG
#include "/home/ahmetalp/Desktop/Workplace/debug.h"
#else
#define debug(...) void(23)
#endif
int calc(int n, std::vector<int> vec) {
int cnt = 0;
for (int i = n - 1; i >= 0; --i) {
cnt += (vec[i] > cnt);
}
return cnt;
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int N, K;
std::cin >> N >> K;
std::vector<int> A(N);
for (int i = 0; i < N; ++i) {
std::cin >> A[i];
}
std::sort(A.begin(), A.end());
auto ans = A;
std::reverse(ans.begin(), ans.begin() + N - K);
std::reverse(ans.begin() + N - K, ans.end());
debug(ans);
if (calc(N, ans) == K) {
for (int i = 0; i < N; ++i) {
std::cout << ans[i] << " \n"[i == N - 1];
}
} else {
std::cout << "-1\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... |