Submission #1201127

#TimeUsernameProblemLanguageResultExecution timeMemory
1201127shadowlordJob Scheduling (CEOI12_jobs)C++20
0 / 100
155 ms1096 KiB
#include <bits/stdc++.h> using namespace std; #define int long long bool possible(int d, int n,int mid, vector<int>&a) { int i; for(i=0;i<a.size();i++) { if(a[i]) { break; } } int sum=mid*(d+1); for(int j=i+d;j<a.size();j++) { if(a[j-d]>sum) { return false; } sum+=mid; } return true; } signed main() { int n, d, m; cin >> n >> d >> m; map<int, int> mp; int maxi= -1; for (int i = 0; i < m; i++) { int x; cin >> x; if (x > maxi) { maxi = x; } mp[x]++; } cout << maxi << "\n"; vector<int>a(maxi+d+1,0); for(int i=1;i<a.size();i++) a[i]=mp[i]; //print a // for(int i=0;i<a.size();i++) // { // cout << a[i] << " "; // } // cout << "\n"; for(int i=1;i<a.size();i++) { a[i]+=a[i-1]; } // //print a // for(int i=0;i<a.size();i++) // { // cout << a[i] << " "; // } // cout << "\n"; int l=1; int r = INT_MAX; int ans = 0; while(l<=r) { int mid = (r - l) / 2 + l; if (!possible(d,n, mid, a)) { l = mid + 1; } else { ans = mid; r = mid - 1; } } cout << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...