제출 #265551

#제출 시각아이디문제언어결과실행 시간메모리
265551shrek12357Karte (COCI18_karte)C++14
120 / 120
383 ms9016 KiB
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <climits> #include <cmath> #include <fstream> #include <queue> using namespace std; int main() { int n, k; cin >> n >> k; vector<int> nums; for (int i = 0; i < n; i++) { int temp; cin >> temp; nums.push_back(temp); } sort(nums.begin(), nums.end()); for (int i = 0; i < n - k; i++) { if (nums[i] > k) { cout << -1 << endl; return 0; } } multiset<int> left; for (int i = n - k; i < n; i++) { left.insert(nums[i]); } int counter = 0; vector<int> ans; while (left.size() > 0) { if (*left.begin() > counter) { counter++; ans.push_back(*left.begin()); left.erase(left.begin()); } else { break; } } if (left.size() != 0) { cout << -1 << endl; return 0; } for (int i = 0; i < n - k; i++) { cout << nums[i] << " "; } for (int i = ans.size() - 1; i >= 0; i--) { cout << ans[i] << " "; } cout << endl; }
#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...