Submission #1091092

#TimeUsernameProblemLanguageResultExecution timeMemory
1091092androJob Scheduling (CEOI12_jobs)C++17
0 / 100
90 ms7644 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int m, d, n; cin >> m >> d >> n; vector<int> a(n + 1); for(int i = 1; i <= n; i++) { cin >> a[i]; } sort(a.begin() + 1, a.end()); int l = 1, r = n, ans = - 1; vector<int> br(m + 1, 0); for(int i = 1; i <= n; i++) { br[a[i]] += 1; } while(l <= r) { int mid = (l + r) / 2; int p = 1; int ok = 1; while(p <= m) { if(! br[p]) { p += 1; continue; } int trebam = br[p] / mid; if(br[p] % mid) { trebam += 1; } if(p + trebam > p + d) { ok = 0; break; } else { p += 1; } } if(ok) { r = mid - 1; ans = mid; } else { l = mid + 1; } } cout << ans; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...