Submission #743195

#TimeUsernameProblemLanguageResultExecution timeMemory
743195vjudge1Job Scheduling (CEOI12_jobs)C++17
10 / 100
413 ms7476 KiB
#include <bits/stdc++.h> using namespace std; int day, deadline, work; const int N = 100001; int workday[N] = {}; vector<int> general; bool solve(int maxmachine) { int workleft = work; int day = 1; vector<int> soil = general; while (workleft > 0 && !soil.empty()) { for (int i = 0; i < maxmachine; ++i) { if (soil.back() + deadline < day) return false; else { workleft--; soil.pop_back(); } } day++; } return true; } int main() { int a; cin >> day >> deadline >> work; for (int i = 0; i < work; ++i) { cin >> a; workday[a]++; } int maxwork = -1; for (int i = 1; i <= day - deadline; ++i) { maxwork = max(maxwork, workday[i]); for (int j = 1; j <= workday[i]; ++j) general.push_back(i); } reverse(general.begin(), general.end()); for (int i = 1; i <= work; ++i) { if (solve(i)) { cout << i << "\n"; break; } } for(int i = 0;i < day;++i) cout << "0\n"; } /* 8 2 12 1 2 4 2 1 3 5 6 2 3 6 4 */
#Verdict Execution timeMemoryGrader output
Fetching results...