Submission #744050

#TimeUsernameProblemLanguageResultExecution timeMemory
744050vjudge1Job Scheduling (CEOI12_jobs)C++17
55 / 100
22 ms2016 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long ; using pii = pair<ll , ll> ; using i3 = tuple<ll , ll , ll> ; const int N = 1e5+5 ; const int MOD = 1e9+7 ; ll n , d , m ; pii S[N] ; bool solve(ll mid){ ll day = 1 , cnt = 0 ; for(int i=1;i<=m;i++){ if(day < S[i].first){ day = S[i].first ; cnt = 0 ; } if(cnt == mid){ day++; cnt = 0 ; } if(day > S[i].first + d){ return false ; } cnt++; } return day <= n ; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> d >> m ; for(int i=1, x;i<=m;i++){ cin >> x ; S[i] = {x , i}; } sort(S+1 , S+m+1) ; ll l = 1 , r = m , ans = 0 ; while(l <= r){ ll mid = (l+r)/2 ; if(solve(mid)){ r = mid-1 ; ans = mid ; } else { l = mid+1 ; } } cout << ans << "\n" ; for(int i=1;i<=n;i++){ cout << "0\n" ; } }
#Verdict Execution timeMemoryGrader output
Fetching results...