Submission #1155060

#TimeUsernameProblemLanguageResultExecution timeMemory
1155060AlgorithmWarriorJob Scheduling (CEOI12_jobs)C++20
55 / 100
193 ms13872 KiB
#include <bits/stdc++.h> using namespace std; int const MAX=1e6+5; int n,d,m; struct request{ int day,pos; bool operator<(request ot){ return day<ot.day; } }req[MAX]; int capacity; void read(){ cin>>n>>d>>m; int i; for(i=1;i<=m;++i){ cin>>req[i].day; req[i].pos=i; } sort(req+1,req+m+1); } void maxself(int &x,int val){ if(x<val) x=val; } int get_min_machines(){ int maxim=0; int i; for(i=1;i<=m;++i){ while(req[i].day==req[i+1].day) ++i; maxself(maxim,(i+req[i].day+d-1)/(req[i].day+d)); } capacity=maxim; return maxim; } void plan_work(){ int i; int id=1; for(i=1;i<=n;++i){ int used=0; while(id<=m && used<capacity && req[id].day<=i){ cout<<req[id].pos<<' '; ++used; ++id; } cout<<"0\n"; } } int main() { read(); cout<<get_min_machines()<<'\n'; plan_work(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...