Submission #263410

#TimeUsernameProblemLanguageResultExecution timeMemory
263410DS007Job Scheduling (CEOI12_jobs)C++14
0 / 100
68 ms768 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5, M = 1e6; int a[N], cpy[N], n, d, m; bool check(int mid) { for (int i = 1; i <= n; i++) cpy[i] = a[i]; for (int i = 1, last = 1; i <= n; i++) { int left = mid; while (left && last <= i) { if (left >= cpy[last]) left -= cpy[last++]; else cpy[last] -= left, left = 0; } if (last <= n + 1) exit(0); if (i - last > d) return false; } return true; } int solveTestCase() { cin >> n >> d >> m; for (int i = 0; i < m; i++) { int temp; cin >> temp; if (temp >= N) exit(0); a[temp]++; } int l = 1, h = M, ans = M; while (l <= h) { //cerr << l << " " << h << "\n"; int mid = (l + h) / 2; if (check(mid)) ans = mid, h = mid - 1; else l = mid + 1; } cout << ans; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int t = 1; //cin >> t; while (t--) solveTestCase(); }

Compilation message (stderr)

jobs.cpp: In function 'int solveTestCase()':
jobs.cpp:49:13: warning: control reaches end of non-void function [-Wreturn-type]
   49 |     cout << ans;
      |             ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...