제출 #703299

#제출 시각아이디문제언어결과실행 시간메모리
703299TAhmed33Job Scheduling (CEOI12_jobs)C++98
10 / 100
504 ms14968 KiB
#include <bits/stdc++.h> using namespace std; #define F first #define S second int n, d, m; pair <int, int> arr[1000001] = {}; bool check (int x) { deque <pair <int, int>> a; for (int i = 1; i <= m; i++) a.push_back(arr[i]); int prev = -1e9; int cnt = 0; int days = 0; while (a.size()) { if (cnt == x || prev + d < a.front().F) { prev = a.front().F; days++; cnt = 0; } a.pop_front(); cnt++; } return (days <= n); } void cringe (int x) { for (int i = 1; i <= n; i++) cout << 0 << endl; } int main () { cin >> n >> d >> m; for (int i = 1; i <= m; i++) { cin >> arr[i].F; arr[i].S = i; } sort(arr + 1, arr + m + 1); int l = 1, r = m; int mid, ans = m; while (l <= r) { mid = (l + r) >> 1; if (check(mid)) { r = mid - 1; ans = mid; } else { l = mid + 1; } } cout << ans << endl; cringe(ans); //build(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...