Submission #1270913

#TimeUsernameProblemLanguageResultExecution timeMemory
1270913ramzialoulouJob Scheduling (CEOI12_jobs)C++20
0 / 100
135 ms9144 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, d, m; cin >> n >> d >> m; vector<pair<int, int>> a(m); for (int i = 0; i < m; i++) { int x; cin >> x; a[i] = {x, i}; } sort(a.begin(), a.end()); auto check = [&](int k) { int beg = 0; while (beg < n) { for (int end = beg; end < min(n, beg + k); end++) { if (beg / k + 1 - a[end].first > d) { return 0; } } beg += k; } return 1; }; int lo = 1, hi = n; while (lo <= hi) { int mid = (lo + hi) >> 1; if (check(mid)) { hi = mid - 1; } else { lo = mid + 1; } } cout << hi + 1 << '\n'; vector<int> ans; int cnt = 0; for (int i = 0; i < n; i++) { ans.push_back(a[i].second + 1); if ((i + 1) % (hi + 1) == 0) { ans.push_back(0); cnt += 1; } } while (cnt <= n) { cnt += 1; ans.push_back(0); } for (int i = 0; i < int(ans.size()); i++) { cout << ans[i] << ' '; if (ans[i] == 0) { cout << '\n'; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...