Submission #453184

#TimeUsernameProblemLanguageResultExecution timeMemory
453184osmanallazovJob Scheduling (CEOI12_jobs)C++14
55 / 100
624 ms13800 KiB
#include <bits/stdc++.h> using namespace std; #define MAXX 1000005 #define ll long long pair<int,int>j[MAXX]; int n,m,d; bool check(ll num) { if(num*n<m)return 0; for(ll k=0;k<n;k++) { for(ll i=k*num;i<min((ll)m,(k+1)*num);i++) { if(j[i].first+d<k+1) return 0; } } return 1; } int main(){ cin>>n>>d>>m; for(int i=0;i<m;i++){ cin>>j[i].first; j[i].second=i+1; } sort(j,j+m); int r=m,l=0,mid,res=-1; while(l<=r) { mid=(l+r)/2; if(check(mid)) { res=mid; r=mid-1; } else l=mid+1; } cout<<res<<endl; for(ll k=0;k<n;k++){ for(ll i=k*res;i<min((ll)m,(k+1)*res);i++){ cout<<j[i].second<<" "; } cout<<0<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...