Advertisement
Guest User

magic

a guest
Dec 15th, 2012
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <string>
  4. #include <vector>
  5. #include <algorithm>
  6. #include <map>
  7. #include <set>
  8. #include <queue>
  9. #include <stack>
  10. #include <cmath>
  11. #include <assert.h>
  12. using namespace std;
  13. #define pb push_back
  14. #define mp make_pair
  15. typedef long long ll;
  16. typedef long double ld;
  17. const int INF = 1000000000;
  18. const int prime = 9241;
  19. const ld pi = acos(-1.);
  20.  
  21. ll t[100005];
  22. int main()
  23. {
  24.    int n,m;
  25.    cin >> n >> m;
  26.    for (int i = 0; i < n; i++) cin >> t[i];
  27.    ll lb = 1;
  28.    ll rb = (ll)1e18;
  29.    ll ans = -1;
  30.    while (lb <= rb)
  31.    {
  32.        ll mid = (lb+rb)>>1;
  33.        ll cnt = 0ll;
  34.        for (int i = 0; i < n; i++) cnt += mid / t[i];
  35.        if (cnt >= (ll)m)
  36.        {
  37.            ans = mid;
  38.            rb = mid-1;
  39.        } else lb = mid + 1;
  40.    }
  41.    assert(ans != -1ll);
  42.    cout << ans << endl;
  43.    return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement