Submission #1184998

#TimeUsernameProblemLanguageResultExecution timeMemory
1184998inesfiJob Scheduling (CEOI12_jobs)C++20
0 / 100
50 ms7752 KiB
#include<bits/stdc++.h> using namespace std; #define endl "\n" //#define int long long const int TAILLEMAXI=100*1000+2; vector<int> req[TAILLEMAXI]; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int nbjours,delaimax,nbreq; cin>>nbjours>>delaimax>>nbreq; for (int i=0;i<nbreq;i++){ int val; cin>>val; req[val].push_back(i+1); } int deb=0,fin=nbreq; while (deb<fin){ int milieu=(deb+fin)/2; int pb=0; int j=0,encore=0; for (int i=0;i<nbjours;i++){ if (j<i){ j=i; encore=0; } j+=(req[i].size()+encore)/milieu; encore=(req[i].size()+encore)%milieu; if (j+min(encore,(int)1)>i+delaimax){ pb=1; } } if (pb==0){ fin=milieu; } else { deb=milieu+1; } } cout<<deb<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...