Submission #987418

#TimeUsernameProblemLanguageResultExecution timeMemory
987418OAleksaJob Scheduling (CEOI12_jobs)C++14
0 / 100
1076 ms49208 KiB
#include <bits/stdc++.h> #define f first #define s second using namespace std; const int N = 1e6 + 69; int n, d, m; pair<int, int> a[N]; signed main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while (tt--) { cin >> n >> d >> m; for (int i = 1;i <= m;i++) { cin >> a[i].f; a[i].s = i; } sort(a + 1, a + m + 1); int l = 1, r = m, ans = 0; auto check = [&](int mid) { int t = 0, s = 1; for (int i = 1;i <= m;i++) { t += 1; if (t > mid) { s += 1; t = 1; } if (s < a[i].f) { s = a[i].f; t = 1; } if (a[i].f + d < s) return false; } return true; }; while (l <= r) { int mid = (l + r) / 2; if (check(mid)) { ans = mid; r = mid - 1; } else l = mid + 1; } cout << ans << '\n'; for (int i = 1;i <= n;i++) { if (i > n - d) { cout << 0 << '\n'; continue; } for (int j = 1;j <= ans + 1;j++) cout << 0 << ' '; cout << '\n'; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...