제출 #1239889

#제출 시각아이디문제언어결과실행 시간메모리
1239889altern23Karte (COCI18_karte)C++20
0 / 120
62 ms5828 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<ll, ll> #define fi first #define sec second #define ld long double const int MAXN = 5e5; const ll INF = 1e18; const int MOD = 1e9 + 7; const ld eps = 1e-6; ll a[MAXN + 5]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; for(;tc--;){ ll N, K; cin >> N >> K; for(int i = 1; i <= N; i++) cin >> a[i]; sort(a + 1, a + 1 + N); set<ll> good; vector<ll> bad; for(int i = 1; i <= N - K; i++){ good.insert(a[i]); } ll cur = 0; bool ok = 1; for(int i = N - K + 1; i <= N; i++){ if(a[i] <= cur){ auto it = good.lower_bound(cur + 1); if(it != good.end()){ good.erase(it); bad.push_back((*it)); good.insert(a[i]); } else{ ok = 0; break; } } else bad.push_back(a[i]); cur++; } if(!ok) cout << "-1\n"; else{ for(auto x : bad) cout << x << " "; for(auto x : good) cout << x << " "; 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...