제출 #550227

#제출 시각아이디문제언어결과실행 시간메모리
550227epiforJob Scheduling (CEOI12_jobs)C++17
10 / 100
450 ms24324 KiB
#include <iostream> #include <algorithm> #include <vector> using namespace std; #define ll long long ll n,d,m; ll maks = 0; vector<pair<ll,ll>> v; bool fjk(int k){ int dan = 0; for(int i = 0;i<m;i++){ if(i%k==0){ dan++; } if(dan>v[i].first+d){ return false; } } return true; } void fjk1(int k){ int dan = 0; for(int i = 0;i<m;i++){ if(i%k==0){ dan++; if(i!=0){ cout << 0 << endl; } } cout << v[i].second+1 << " "; } cout << 0 << endl; if(m%k<n){ for(int i =0;i<m%k;i++){ cout << 0 << endl; } } } int main() { cin >> n >> d >> m; ll kl; for(int i =0;i<m;i++){ cin>>kl; v.push_back({kl,i}); } sort(v.begin(),v.end()); ll a = 1, b=m; while(b>=a){ ll mid = b+(a-b)/2; if(fjk(mid)==true){ b=mid-1; }else{ a=mid+1; } } cout << b+1 << endl; fjk1(b+1); }
#Verdict Execution timeMemoryGrader output
Fetching results...