Submission #104792

#TimeUsernameProblemLanguageResultExecution timeMemory
104792WLZJob Scheduling (CEOI12_jobs)C++17
0 / 100
97 ms4616 KiB
#include <bits/stdc++.h> using namespace std; int n, d, m; vector<int> a; int check(int k) { vector<int> cnt(n + 1, 0); int last = 0; for (int i = 1; i <= n; i++) { if (a[i] == 0) { continue; } int left = a[i]; int pos = d + 1; if (last >= i) { left -= k - cnt[last]; pos = i + d - last; } if ((left + k - 1) / k > pos) { return 0; } last = max(i, last) + (left + k - 1) / k; cnt[last] = left % k; } return 1; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n >> d >> m; a.assign(n + 1, 0); for (int i = 0; i < m; i++) { int x; cin >> x; a[x]++; } int lo = 1, hi = m, ans; while (lo <= hi) { int mid = (lo + hi) / 2; if (check(mid)) { ans = mid; hi = mid - 1; } else { lo = mid + 1; } } cout << ans << '\n'; return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:49:18: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   cout << ans << '\n';
                  ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...