Submission #1075168

#TimeUsernameProblemLanguageResultExecution timeMemory
1075168inkvizytorJob Scheduling (CEOI12_jobs)C++17
0 / 100
99 ms17896 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, d, m; cin >> n >> d >> m; vector<int> v (n+1, 0), sp (n+1, 0); vector<vector<int>> c (n+1); for (int i = 1; i < m+1; i++) { int x; cin >> x; v[x]++; c[x].push_back(i); } vector<int> s; for (auto i : c) { for (int x : i) { s.push_back(x); } } for (int i = 1; i < n+1; i++) { sp[i] = sp[i-1]+v[i]; } int p = 0, j = 1<<20; while (j > 0) { int k = p+j; int wyk = 0; bool b = 1; for (int i = 1; i < n+1; i++) { wyk = min(wyk+k, sp[i]); if (i > d+1 && wyk < sp[i-d-1]) { b = 0; break; } } if (!b) { p += j; } j /= 2; } cout << p+1 << '\n'; int k = p+1, nr = 0; int wyk = 0; for (int i = 1; i < n+1; i++) { wyk = min(wyk+k, sp[i]); while (nr < wyk) { cout << s[nr]+1 << ' '; nr++; } cout << "0\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...