Submission #1299336

#TimeUsernameProblemLanguageResultExecution timeMemory
1299336AbdullahIshfaqJob Scheduling (CEOI12_jobs)C++20
100 / 100
232 ms13800 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define MOD 998244353 const int N = 1e6 + 5; int n, m, d; pair<int, int> a[N]; void solve() { cin >> n >> d >> m; for (int i = 1; i <= m; i++) { cin >> a[i].first; a[i].second = i; } a[m + 1].first = 1e9; sort(a + 1, a + m + 1); int l = 0, r = m; while (r - l > 1) { int mid = (l + r) / 2, p = 1; for (int i = 1; i <= n; i++) { if (a[p].first + d < i) { break; } int cnt = 0; while (cnt < mid and a[p].first <= i) { cnt++; p++; } } if (p > m) { r = mid; } else { l = mid; } } cout << r << endl; int p = 1; for (int i = 1; i <= n; i++) { int cnt = 0; while (cnt < r and a[p].first <= i) { cnt++; cout << a[p].second << " "; p++; } cout << 0 << endl; } } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll t = 1; // cin >> t; // cout << fixed << setprecision(12); for (ll i = 1; i <= t; i++) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...