제출 #1220711

#제출 시각아이디문제언어결과실행 시간메모리
1220711lopkusJob Scheduling (CEOI12_jobs)C++20
100 / 100
112 ms5704 KiB
#include <bits/stdc++.h> int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int n, d, m; std::cin >> n >> d >> m; std::vector<int> a(m + 1); for(int i = 1; i <= m; i++) { std::cin >> a[i]; } std::sort(a.begin() + 1, a.end()); for(int i = 1; i <= m; i++) { //std::cout << a[i] << " "; } //std::cout << "\n"; int l = 1, r = m, ans = - 1; while(l <= r) { int mid = (l + r) / 2; std::deque<int> st; for(int i = 1; i <= mid; i++) { st.push_back(a[i]); } int ok = 1; for(int i = mid + 1; i <= m; i++) { int old = st.front(); int New = std::max(old + 1, a[i]); if(New > a[i] + d) { ok = 0; break; } st.push_back(New); st.pop_front(); } if(ok) { r = mid - 1; ans = mid; } else { l = mid + 1; } } std::cout << ans << "\n"; for(int i = 1; i <= n; i++) { std::cout << 0 << "\n"; } } /** 8 2 12 1 2 4 2 1 3 5 6 2 3 6 4 **/
#Verdict Execution timeMemoryGrader output
Fetching results...