Submission #702563

#TimeUsernameProblemLanguageResultExecution timeMemory
702563TAhmed33Job Scheduling (CEOI12_jobs)C++98
10 / 100
477 ms13672 KiB
#include <bits/stdc++.h> using namespace std; int n, d, m; pair <int, int> arr[1000001] = {}; bool check (int x) { int cnt = 0; for (int day = 1; day <= n; day++) { int z = cnt; for (int i = cnt + 1; i <= min(m, cnt + x); i++) { if (day + d < arr[i].first) break; z++; } cnt = z; if (cnt == m) return true; } return false; } int main () { cin >> n >> d >> m; for (int i = 1; i <= m; i++) { cin >> arr[i].first; arr[i].second = i; } sort(arr + 1, arr + m + 1); int l = 1, r = 1e9; int mid, ans; while (l <= r) { mid = (l + r) >> 1; if (check(mid)) { r = mid - 1; ans = mid; } else { l = mid + 1; } } cout << ans << endl; int cnt = 0; for (int day = 1; day <= n; day++) { int z = cnt; for (int i = cnt + 1; i <= min(m, cnt + ans); i++) { if (day + d < arr[i].first) break; z++; cout << arr[i].second << " "; } cout << 0 << endl; cnt = z; } }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:40:41: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   40 |   for (int i = cnt + 1; i <= min(m, cnt + ans); i++) {
      |                                     ~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...