Submission #63344

#TimeUsernameProblemLanguageResultExecution timeMemory
63344bazsi700Job Scheduling (CEOI12_jobs)C++14
40 / 100
338 ms29312 KiB
#include <bits/stdc++.h> using namespace std; #define MOD 1000000007 #define ll long long int #define vi vector<int> #define vii vector< vector<int> > #define PI 3.1415926535897932384626433832795 #define INF 9223372036854775807LL //15:55 -1 óra? fél? int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n,d,m; cin >> n >> d >> m; vi jobs(n+1,0); for(int i = 0; i < m; i++) { int x; cin >> x; jobs[x]++; } int l = 1; int r = m; while(l < r) { int mid = (l+r)/2; queue<int> todo; bool good = true; for(int i = 1; i <= n; i++) { for(int j = 0; j < jobs[i]; j++) { todo.push(i); } for(int j = 0; j < mid; j++) { if(todo.empty()) { break; } int day = todo.front(); todo.pop(); if(day+d < i) { good = false; break; } } if(!good) { break; } } if(good) { r = mid; } else { l = mid+1; } } cout << l << "\n"; queue<int> todo; for(int i = 1; i <= n; i++) { for(int j = 0; j < jobs[i]; j++) { todo.push(i); } for(int j = 0; j < l; j++) { if(todo.empty()) { break; } int day = todo.front(); todo.pop(); cout << day << " "; } cout << "0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...