Submission #1000093

#TimeUsernameProblemLanguageResultExecution timeMemory
1000093codexistentJob Scheduling (CEOI12_jobs)C++14
40 / 100
349 ms14900 KiB
#include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for(int i = a; i <= b; i++) #define MAXN 100005 int n, d, m, arr[MAXN], res = 0; vector<pair<int, int>> req; int main(){ cin >> n >> d >> m; FOR(i, 1, n) arr[i] = 0; FOR(i, 1, m){ int x; cin >> x; arr[x]++; req.push_back({x, i}); } sort(req.begin(), req.end()); multiset<int> s; s.insert(0); FOR(i, 1, 1 + d) s.insert(0); FOR(i, 1, n){ res = max(res, *s.rbegin()); s.erase(s.find(*s.rbegin())); FOR(j, 1, arr[i]){ int k = *s.begin(); s.erase(s.begin()); s.insert(k + 1); } s.insert(0); } res = max(res, *s.rbegin()); cout << res << endl; int k = -1; FOR(i, 1, n){ int j = 1; while(j <= res && (k + 1 < m) && (req[k + 1].first <= i && i <= req[k + 1].first + d)){ cout << req[k + 1].second << " "; j++, k++; } cout << "0" << endl; } } /* 8 2 12 1 2 4 2 1 3 5 6 2 3 6 4 */
#Verdict Execution timeMemoryGrader output
Fetching results...