Submission #917992

#TimeUsernameProblemLanguageResultExecution timeMemory
917992AiperiiiJob Scheduling (CEOI12_jobs)C++14
0 / 100
419 ms40164 KiB
#include <bits/stdc++.h> #define int long long #define ff first #define ss second #define pb push_back #define all(x) x.begin(),x.end() using namespace std; signed main(){ ios_base::sync_with_stdio(); cin.tie(0);cout.tie(0); int n,d,m; cin>>n>>d>>m; vector <pair <int,int> > v; for(int i=1;i<=m;i++){ int x;cin>>x; v.pb({x,i}); } sort(all(v)); int l=0; int r=1e6+5; deque <int> day; while(l+1<r){ int md=(l+r)/2; for(auto x : v){ day.pb(x.ff); } for(int i=1;i<=n;i++){ int cnt=md; while(day.size()!=0 && day.front()>=i-d && day.front()<=i && cnt>0){ day.pop_front(); cnt--; } } if(day.size()==0)r=md; else l=md; while(!day.empty())day.pop_back(); } deque <int> ind; for(auto x : v){ day.pb(x.ff); ind.pb(x.ss); } vector <vector <int> > ans(n+1); cout<<r<<"\n"; for(int i=1;i<=n;i++){ int cnt=r; while(day.size()!=0 && day.front()>=i-d && day.front()<=i && cnt>0){ day.pop_front(); ans[i].pb(ind.front()); ind.pop_front(); cnt--; } ans[i].pb(0); } for(int i=1;i<=n;i++){ for(auto x : ans[i])cout<<x<<" "; cout<<"\n"; } } /* 8 2 12 1 2 4 2 1 3 5 6 2 3 6 4 */
#Verdict Execution timeMemoryGrader output
Fetching results...