MAGCARI

Labor

Jan 16th, 2023
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. /*
  2.     Task    : _example
  3.     Author  : Phumipat C. [MAGCARI]
  4.     Language: C++
  5.     Created : 16 January 2023 [21:52]
  6. */
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. long long t[1000010];
  10. int main(){
  11.     cin.tie(0)->sync_with_stdio(0);
  12.     cin.exceptions(cin.failbit);
  13.     long long m,n,mx = 0;
  14.     cin >> m >> n;
  15.     for(int i=1;i<=m;i++)
  16.         cin >> t[i],mx = max(mx,t[i]);
  17.     long long l=1,r=n*mx,mid,cnt;
  18.     while(l<r){
  19.         mid = (l+r)/2;
  20.         // assume we have "mid" time
  21.         cnt = 0;
  22.         for(int i=1;i<=m;i++){
  23.             cnt+=(mid/t[i]);
  24.             if(cnt >= n)    break;
  25.         }
  26.         if(cnt >= n)    r = mid;
  27.         else            l = mid+1;
  28.     }
  29.     cout << l << '\n';
  30.     return 0;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment