제출 #1241640

#제출 시각아이디문제언어결과실행 시간메모리
1241640lechaaKarte (COCI18_karte)C++20
12 / 120
155 ms25712 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++){
        auto it = x.upper_bound(k);
        if(it == x.begin()){
            ns[i] = *m.begin(); 
            if(ns[i] < k){
                ns.clear();
                break;
            }
            m.erase(m.begin());
            k--;
            continue;
        }
        it--;
        ns[i] = *it;
        x.erase(it);
    }
    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...