Submission #1232097

#TimeUsernameProblemLanguageResultExecution timeMemory
1232097chikien2009Job Scheduling (CEOI12_jobs)C++20
100 / 100
206 ms13456 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, m, d, a, l, r, mid, res; vector<int> v[100000]; deque<pair<int, int>> dq; inline bool Check(int inp) { dq.clear(); for (int i = 0; i < n; ++i) { for (auto & j : v[i]) { dq.push_back({i + d, j}); } if (!dq.empty() && dq.front().first < i) { return false; } for (int j = 0; j < inp && !dq.empty(); ++j) { dq.pop_front(); } } return dq.empty(); } int main() { setup(); cin >> n >> d >> m; for (int i = 0; i < m; ++i) { cin >> a; v[a - 1].push_back(i + 1); } l = 1; r = 1000000; while (l <= r) { mid = (l + r) >> 1; if (Check(mid)) { res = mid; r = mid - 1; } else { l = mid + 1; } } cout << res << "\n"; dq.clear(); for (int i = 0; i < n; ++i) { for (auto & j : v[i]) { dq.push_back({i + d, j}); } for (int j = 0; j < res && !dq.empty(); ++j) { cout << dq.front().second << " "; dq.pop_front(); } cout << "0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...