Submission #1288833

#TimeUsernameProblemLanguageResultExecution timeMemory
1288833tormentJob Scheduling (CEOI12_jobs)C++20
0 / 100
247 ms23436 KiB
#include<bits/stdc++.h> using namespace std; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, d, m; cin >> n >> d >> m; vector<array<int, 2>>v(m); for(int i = 0;i < m;++i){ cin >> v[i][0]; v[i][1] = i + 1; } sort(v.begin(), v.end()); int l = 1, r = m, ans = m; while(l <= r){ int mid = (l + r) / 2; bool f = true; int p = 0, day = 1; while(f && p < m){ int cur = p; for(;p < min(m, cur + mid);++p){ if(v[p][0] > day)break; if(v[p][0] + d < day)f = false; } day++; } if(f){ ans = mid; r = mid - 1; } else{ l = mid + 1; } } cout << ans << '\n'; int p = 0, day = 1; vector<vector<int>>res(n + 1); while(p < m){ int cur = p; for(;p < min(m, cur + ans);++p){ if(v[p][0] > day)break; res[day].push_back(v[p][1]); } day++; } for(int i = 1;i <= n;++i){ res[i].push_back(0); for(int j : res[i]){ cout << j << ' '; } cout << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...