Submission #374861

#TimeUsernameProblemLanguageResultExecution timeMemory
374861Aryan_RainaJob Scheduling (CEOI12_jobs)C++14
0 / 100
452 ms25900 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define ar array const int INF = 1e15; const int MOD = 1e9+7; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, d, m; cin>>n>>d>>m; vector<ar<int,2>> a(m); for (int i = 0; i < m; i++) { cin>>a[i][0]; a[i][1] = i+1; } sort(a.begin(), a.end()); auto check = [&](int x) { vector<int> time(x, 0); for (int i = 0; i < m; i++) { if (time[i % x] - a[i][0] > d) return false; time[i % x] = a[i][0] + 1; } return true; }; int lo = 1, hi = m, mid; while (lo + 1 < hi) { // cout<<lo<<" "<<hi<<endl; mid = (lo + hi)>>1; if (check(mid)) hi = mid; else lo = mid; } cout<<hi<<"\n"; for (int i = 0; i < m; i++) { cout<<a[i][1]<<" "; if ((i+1) % hi == 0) cout<<"0\n"; } if (m % hi != 0) cout<<"0\n"; for (int i = (m+hi-1)/hi; i < n; i++) { cout<<"0\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...