제출 #1241650

#제출 시각아이디문제언어결과실행 시간메모리
1241650lechaaKarte (COCI18_karte)C++20
120 / 120
174 ms28364 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int n, k; cin >> n >> k;
    multiset<int> x;
    for(int i = 0; i < n; i++){
        int a; cin >> a;
        x.insert(a);
    }
    multiset<int> m;
    for(int i = 0; i < k; i++){
        m.insert(*x.rbegin());
        x.erase(prev(x.end()));
    }
    vector<int> ns(n);
    for(int i = 0; i < n; i++){
        if(*x.begin() > k || i+k == n){
            if(m.size() == 0){
                ns.clear();
                break;
            }
            ns[i] = *m.rbegin();
            if(ns[i] < k){
                ns.clear();
                break;
            }
            m.erase(prev(m.end()));
            k--;
            continue;
        }
        ns[i] = *x.begin();
        x.erase(x.begin());
    }
    if(ns.size() == 0){
        cout << -1 << "\n";
        return 0;
    }
    for(int i = 0; i < n; i++){
        cout << ns[i] << " ";
    }cout << "\n";
    return 0;
}
#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...