Submission #1204751

#TimeUsernameProblemLanguageResultExecution timeMemory
1204751nathlol2Job Scheduling (CEOI12_jobs)C++20
15 / 100
216 ms44244 KiB
#include <bits/stdc++.h> #define f first #define s second using namespace std; const int mxN = 1e6; pair<int, int> a[mxN]; int d, l, n; vector<vector<int>> ans; bool ok(int x){ auto tmp = vector<vector<int>>(d); int p = 0; for(int i = 0;i<d;i++){ int j; for(j = p;j<min(n, p + x);j++){ if(a[j].f > i - l + 1){ tmp[i].push_back(a[j].s); }else{ break; } } p = j; } if(p == n){ ans = tmp; return true; }else{ return false; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> d >> l >> n; ans.resize(d); for(int i = 0;i<n;i++){ cin >> a[i].f; a[i].s = i + 1; } sort(a, a + n); int l = 0, r = n + 10, x = n; while(l <= r){ int mid = (l + r) / 2; if(ok(mid)){ x = mid; r = mid - 1; }else{ l = mid + 1; } } cout << x << '\n'; for(int i = 0;i<d;i++){ for(auto e : ans[i]){ cout << e << ' '; } cout << "0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...