Submission #954715

#TimeUsernameProblemLanguageResultExecution timeMemory
954715davieduJob Scheduling (CEOI12_jobs)C++17
100 / 100
206 ms13888 KiB
#include <bits/stdc++.h> using namespace std; #define fastio ios_base::sync_with_stdio(0); cin.tie(0) #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define ll long long struct P{ ll x, y; }; void dbg_out() { cerr << endl; } template <typename H, typename... T> void dbg_out(H h, T... t) { cerr << ' ' << h; dbg_out(t...); } #define dbg(...) { cerr << #__VA_ARGS__ << ':'; dbg_out(__VA_ARGS__); } signed main(){ fastio; int n, d, m; cin >> n >> d >> m; vector<pair<int, int>> arr (m); for (int i=1, x; i<=m; i++){ cin >> x; arr[i-1] = {x, i}; } sort(all(arr)); int l=1, r=m, pcs=1; while (l<=r){ int mid = l + (r-l)/2; bool late = false; int j=0; for (int i=0; i<n; i++){ for (int k=0; k<mid && j<m && i+1>=arr[j].first; k++, j++){ if (i+1 > arr[j].first+d){ late = true; break; } } } if (j == m && !late){ r = mid-1; pcs = mid; } else l = mid+1; } cout << pcs << '\n'; int j=0; for (int i=0; i<n; i++){ for (int k=0; k<pcs && j<m && i+1>=arr[j].first; k++, j++){ cout << arr[j].second << ' '; } cout << 0 << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...