Submission #1222879

#TimeUsernameProblemLanguageResultExecution timeMemory
1222879toast12Job Scheduling (CEOI12_jobs)C++20
55 / 100
257 ms13856 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, d, m; cin >> n >> d >> m; vector<pair<int, int>> a(m); for (int i = 0; i < m; i++) { cin >> a[i].first; a[i].second = i; } sort(a.begin(), a.end()); int lo = 1, hi = m; while (lo < hi) { int mid = (lo+hi)/2; int idx = 0; int day = 1; bool poss = true; while (idx < m) { if (day > n) { poss = false; break; } for (int i = 0; i < mid && idx < m; i++) { if (a[idx].first+d >= day) idx++; else { poss = false; break; } } day++; } if (!poss) lo = mid+1; else hi = mid; } cout << hi << '\n'; int z = 0; for (int i = 0; i < m; i += hi) { for (int j = i; j < min(m, i+hi); j++) cout << a[j].second+1 << ' '; cout << "0\n"; z++; } for (int i = z; i < n; i++) cout << "0\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...