제출 #1168410

#제출 시각아이디문제언어결과실행 시간메모리
1168410ffeyyaeJob Scheduling (CEOI12_jobs)C++20
100 / 100
141 ms13656 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int N = 1e5+5; int n, d, m; vector<int> keep[N]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> d >> m; for( int i=1;i<=m;i++ ) { int a; cin >> a; keep[a].push_back( i ); } int l = 1, r = m; while( l<r ) { int mid = (l+r)/2; bool chk = false; queue<int> q; for( int i=1;i<=n;i++ ) { if( !q.empty() && q.front()<i-d ) { chk = true; break; } for( int j=0;j<keep[i].size();j++ ) q.push( i ); for( int j=0;j<mid && !q.empty();j++ ) q.pop(); } if( !chk && q.empty() ) r = mid; else l = mid+1; } cout << l << "\n"; queue<int> q; for( int i=1;i<=n;i++ ) { for( int x :keep[i] ) q.push( x ); for( int j=1;j<=l && !q.empty();j++ ) { cout << q.front() << " "; q.pop(); } cout << "0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...