Guest User

Untitled

a guest
Jun 30th, 2017
627
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. //author @ Ayush Aggarwal
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. typedef long long ll;
  5. ll a[500010];
  6. bool func(ll val,ll k,ll n)
  7. {
  8.     if(k==1)
  9.         return true;
  10.     ll sum=0;
  11.     for(ll i=n-1;i>=0;i--)
  12.     {
  13.         sum +=(a[i]/val);
  14.     }
  15.     if(sum >= k)
  16.         return true;
  17.     else
  18.         return false;
  19. }
  20. void binary_search(ll n,ll k)
  21. {
  22.     ll lo =1;
  23.     ll high =a[n-1]+1;
  24.     ll mid=0;
  25.     while(high > lo)
  26.     {
  27.          mid = (lo+high)/2;
  28.         if(func(mid,k,n))
  29.             lo = mid+1;
  30.         else
  31.             high = mid;
  32.     }
  33.     cout<<lo-1<<endl;
  34. }
  35. int main()
  36. {  
  37.     ios::sync_with_stdio(false);
  38.     cin.tie(NULL);
  39.     ll t;
  40.     cin>>t;
  41.     while(t--)
  42.     {
  43.         ll n,k;
  44.         cin>>n>>k;
  45.         for(ll i=0;i<n;i++)
  46.             cin>>a[i];
  47.         sort(a,a+n);
  48.         binary_search(n,k);
  49.     }
  50.     return 0;
  51. }
Add Comment
Please, Sign In to add comment