Submission #1285519

#TimeUsernameProblemLanguageResultExecution timeMemory
1285519xnoelJob Scheduling (CEOI12_jobs)C++20
10 / 100
1097 ms8704 KiB
#include <bits/stdc++.h> using namespace std; int n,delay,m; vector<pair<int,int>> vp; bool alg(int x){ int day=0,idx=0; for (int i=0;i<n;i++){ day++; for (int j=0;j<x;j++){ if (vp[idx].first+delay<day) return false; if (vp[idx].first<day) idx++; if (idx>=m) return true; } } return false; } int main(){ //freopen("1.in","r",stdin); cin>>n>>delay>>m; for (int i=0;i<m;i++) { int day; cin>>day; vp.push_back({day,i+1}); } sort(vp.begin(),vp.end()); // for (int i=1;i<=4;i++){ // cout<<i<<" "<<alg(i)<<"\n"; // } int low=1,high=m; while (low<high){ int mid=(low+high)/2; if (alg(mid)) high=mid; else low=mid+1; } cout<<low<<"\n"; for (int i=1;i<=n;i++){ for (int j=0;j<low;j++){ int idx=i*low+j; if (idx>=m) { break; } cout<<vp[idx].second<<" "; } cout<<"0\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...