# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1085590 | 2024-09-08T13:04:20 Z | EntityPlantt | Job Scheduling (CEOI12_jobs) | C++17 | 184 ms | 13796 KB |
#include <iostream> #include <algorithm> using namespace std; const int M = 1e6 + 1, N = 100001; int m, n, d; pair <int, int> job[M]; template <bool write> bool simulate(int maxMachines) { int i = 0, j = 0; for (int day = 1; day <= n; day++) { if (write) cout << '\n'; int machinesLeft = maxMachines; while (j < m && job[j].first == day) j++; while (i < j && machinesLeft) { if (job[i].first + d < day) return false; machinesLeft--; if (write) cout << job[i].second << ' '; i++; } if (write) cout << 0; } return true; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> d >> m; for (int i = 0; i < m; i++) { cin >> job[i].first; job[i].second = i + 1; } sort(job, job + m); // for (int i = 0; i < m; i++) cerr << job[i].second << '\n'; int l = 0, r = m, ans; while (l <= r) { int mid = l + r >> 1; if (simulate<false>(mid)) { ans = mid; r = mid - 1; } else l = mid + 1; } cout << ans; simulate<true>(ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 1624 KB | Output is correct |
2 | Correct | 12 ms | 1820 KB | Output is correct |
3 | Correct | 13 ms | 1628 KB | Output is correct |
4 | Correct | 13 ms | 1628 KB | Output is correct |
5 | Correct | 13 ms | 1624 KB | Output is correct |
6 | Correct | 13 ms | 1628 KB | Output is correct |
7 | Correct | 13 ms | 1628 KB | Output is correct |
8 | Correct | 14 ms | 1624 KB | Output is correct |
9 | Correct | 25 ms | 1768 KB | Output is correct |
10 | Correct | 24 ms | 1880 KB | Output is correct |
11 | Correct | 20 ms | 1628 KB | Output is correct |
12 | Correct | 41 ms | 3156 KB | Output is correct |
13 | Correct | 58 ms | 4688 KB | Output is correct |
14 | Correct | 83 ms | 6132 KB | Output is correct |
15 | Correct | 96 ms | 7760 KB | Output is correct |
16 | Correct | 124 ms | 9044 KB | Output is correct |
17 | Correct | 142 ms | 10528 KB | Output is correct |
18 | Correct | 167 ms | 12076 KB | Output is correct |
19 | Correct | 184 ms | 13796 KB | Output is correct |
20 | Correct | 142 ms | 10528 KB | Output is correct |