Submission #755697

#TimeUsernameProblemLanguageResultExecution timeMemory
755697PetrixJob Scheduling (CEOI12_jobs)C++17
0 / 100
3 ms488 KiB
#include <iostream> #include <algorithm> using namespace std; struct vc{ int a,ind; }v[10000]; bool cmp(vc a,vc b){ if(a.a<b.a) return 1; else return 0; } int n,m; bool verf(int mij){ int z,i=1; z=mij-1;i=1; while(z<m-1 && i<=n){ if(i>v[z].a) break; i++; z=min(z+mij,m-1); } if(z<m-1 && i<=n) return 0; else return 1; } int main() { int st,dr,mij,d,rasp,i,vf,poz,j; cin>>n>>d>>m; for(i=0;i<m;i++){ cin>>v[i].a; v[i].ind=i+1; v[i].a+=d; } sort(v,v+m,cmp); st=1;dr=1000000;rasp=mij=0; while(st<=dr){ mij=(st+dr)/2; vf=verf(mij); if(vf==1){ rasp=mij; dr=mij-1; }else{ st=mij+1; } } cout<<rasp<<"\n"; poz=0; for(i=0;i<n;i++){ for(j=0;j<rasp && poz<m;j++){ cout<<v[poz].ind<<" "; poz++; } cout<<"0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...