Submission #1285280

#TimeUsernameProblemLanguageResultExecution timeMemory
1285280xnoelJob Scheduling (CEOI12_jobs)C++20
15 / 100
271 ms13988 KiB
#include <bits/stdc++.h> using namespace std; int n,delay,m; vector<pair<int,int>> vp; bool alg(int x){ int idx=0; for (int day=1;day<=n;day++) { idx=day*x-1; if (idx>=m) return true; if (vp[idx].first+delay<day) { //cout<<"debug: "<<idx<<" "<<vp[idx].first<<" "<<day<<"\n"; return false; } } if (idx<m-1) { //cout<<"debug: "<<idx<<" "<<m<<"\n"; return false; } else return true; } int main(){ //freopen("1.in","r",stdin); cin>>n>>delay>>m; for (int i=0;i<m;i++) { int day; cin>>day; vp.push_back({day,i+1}); } sort(vp.begin(),vp.end()); // for (auto x: vp) 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...