Submission #1285540

#TimeUsernameProblemLanguageResultExecution timeMemory
1285540xnoelJob Scheduling (CEOI12_jobs)C++20
25 / 100
316 ms13696 KiB
#include <bits/stdc++.h> using namespace std; int n,delay,m; map<int,int> mp; vector<pair<int,int>> vp; bool alg(int x){ if (n*x<m) return false; int preday=0,leftover=0; for (auto [day,count]: mp){ leftover= max(leftover+count-(day-preday)*x,0); if (leftover>x*delay) return false; preday=day; } return true; } int main(){ //freopen("1.in","r",stdin); cin>>n>>delay>>m; for (int i=0;i<m;i++) { int day; cin>>day; mp[day]++; vp.push_back({day,i+1}); } sort(vp.begin(),vp.end()); // for (auto x: mp) cout<<x.first<<" "<<x.second<<"\n"; // cout<<"\n"; int low=1,high=m; while (low<high){ int mid=(low+high)/2; if (alg(mid)) high=mid; else low=mid+1; } cout<<low<<"\n"; for (int i=0;i<n;i++){ for (int j=0;j<low;j++){ int idx=i*low+j; if (idx>=m) { break; } cout<<vp[idx].second<<" "; } cout<<"0\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...