제출 #1149006

#제출 시각아이디문제언어결과실행 시간메모리
1149006LilPlutonJob Scheduling (CEOI12_jobs)C++20
100 / 100
263 ms13596 KiB
#include <bits/stdc++.h> using namespace std; #define ld long double #define ll long long #define eb emplace_back const int inf = 1e9; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, d, m; cin >> n >> d >> m; vector<vector<int>>v(n + 1); for(int i = 1; i <= m; ++i){ int x; cin >> x; v[x].push_back(i); } int l = 1, r = m; while(l < r){ int mid = (l + r) >> 1; queue<array<int,2>>q; int f = 1; for(int i = 1; i <= n; ++i){ for(int x : v[i]){ q.push({x, i}); } int k = mid; while (!q.empty() && k--) q.pop(); if(!q.empty() && q.front()[1] + d == i){ f = 0; break; } } f &= q.empty(); if(f){ r = mid; }else{ l = mid + 1; } } cout << l << endl; queue<array<int,2>>q; for(int i = 1; i <= n; ++i){ for(int x : v[i]){ q.push({x, i}); } int k = l; while(!q.empty() && k--){ cout << q.front()[0] << ' '; q.pop(); } cout << 0 << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...