Submission #441765

#TimeUsernameProblemLanguageResultExecution timeMemory
441765YuisuyunoJob Scheduling (CEOI12_jobs)C++14
100 / 100
500 ms24992 KiB
//Nguyen Huu Hoang Minh #include <bits/stdc++.h> #define pb push_back #define fi first #define se second #define N 1000001 #define ii pair<int, int> #define vi vector<int> using namespace std; const int minf = -1e9; vector<int> res[100012]; int n, m, d; bool ok(int machine, vector<ii> a){ int delays=0; int en[machine] = {0}; for(int i=0, cur=0; i<m; i++, cur++){ if (cur==machine) cur=0; if (en[cur] + 1 > a[i].fi){ en[cur]++; delays = max(delays,en[cur]-a[i].fi); } else en[cur] = a[i].fi; } return delays <= d; } int main() { vector<ii> a; cin >> n >> d >> m; a.resize(m); for(int i=0; i<m; i++){ cin >> a[i].fi; a[i].se = i+1; } sort(a.begin(),a.end()); int l = 0, r = m; int ans; while (r-l > 0){ int mid = (l+r)/2; if (ok(mid,a)){ r = mid; } else l = mid+1; } cout<<l<<'\n'; int endT[l]={0}; for(int i=0, cur=0; i<m; i++, cur++){ if (cur==l) cur=0; endT[cur] = max(endT[cur]+1,a[i].fi); res[endT[cur]].pb(a[i].se); } for(int i=1; i<=n; i++){ for(int x : res[i]) cout << x << ' '; cout << "0\n"; } return 0; }

Compilation message (stderr)

jobs.cpp: In function 'int main()':
jobs.cpp:41:9: warning: unused variable 'ans' [-Wunused-variable]
   41 |     int ans;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...