제출 #1319853

#제출 시각아이디문제언어결과실행 시간메모리
1319853husseinjuandaJob Scheduling (CEOI12_jobs)C++20
80 / 100
1097 ms20888 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main(){ ios::sync_with_stdio(false); cin.tie(0); int n, d, m; cin >> n >> d >> m; vector<pair<int, int>> x(m); for(int i = 0; i < m; i++){ cin >> x[i].first; x[i].second = i; } sort(x.begin(), x.end()); int low = 0; int top = m; int ns = 0; while(low <= top){ int mid = (low+top)/2; int it = 0; for(int i = 1; i <= n; i++){ for(int y = 0; y < mid; y++){ if(x[it].first > i) continue; if(i-x[it].first <= d){ it++; }else{ it = -1; break; } if(it == m || it == -1) break; } if(it == m || it == -1) break; } if(it == m){ top = mid-1; ns = mid; }else{ low = mid+1; } } cout << ns << "\n"; int mid = ns; int it = 0; for(int i = 1; i <= n; i++){ for(int y = 0; y < mid; y++){ if(x[it].first > i || it == m) continue; cout << x[it].second+1 << " "; it++; } cout << 0 << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...