제출 #743192

#제출 시각아이디문제언어결과실행 시간메모리
743192vjudge1Job Scheduling (CEOI12_jobs)C++17
0 / 100
436 ms11068 KiB
#include <bits/stdc++.h> using namespace std; int day, deadline, work; const int N = 100001; int workday[N] = {}; vector<int> general; vector<int> realw; 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]++; realw.push_back(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; break; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...