제출 #706102

#제출 시각아이디문제언어결과실행 시간메모리
706102BodishaJob Scheduling (CEOI12_jobs)C++17
15 / 100
327 ms13756 KiB
#include <bits/stdc++.h> #define MAX_M 1000000 using namespace std; int n, d, m; pair<int, int> requests[MAX_M]; bool check(int x) { int day = 1; int index = x; while(index < m) { if(requests[index].first + d < day) { return false; } day++; index += x; } return true; } int main() { cin >> n >> d >> m; for(int i = 0; i < m; i++) { cin >> requests[i].first; requests[i].second = i + 1; } sort(requests, requests + m); int l = 0, r = m; int ans = 1; while(l <= r) { int mid = l + (r - l) / 2; if(check(mid)) { ans = mid; r = mid - 1; } else { l = mid + 1; } } cout << ans << "\n"; int ptr = 0; for(int i = 0; i < n; i++) { int counter = 0; while(ptr < m && counter < ans) { cout << requests[ptr].second << " "; ptr++; counter++; } cout << "0\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...