Rudro_Debnath

Binary Search

Sep 11th, 2020
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. /* --------------------
  2. | LOSER |
  3. | ~NOOBOSS~ |
  4. --------------------
  5. */
  6. #include <bits/stdc++.h>
  7. using namespace std;
  8. #define mxx LLONG_MAX
  9. #define mnn LLONG_MIN
  10. #define Y() cout<< "YES" <<endl
  11. #define N() cout << "NO"<<endl
  12. #define endl "\n"
  13. #define max_3(a,b,c) max(a, max(b,c))
  14. #define min_3(a,b,c) min(a, min(b,c))
  15. #define gcd(a,b) __gcd(a,b)
  16. #define lcm(a,b) (a*b)/gcd(a,b)
  17. #define loser return 0
  18. #define ll long long
  19. #define PI acos(-1)
  20. #define mem(a,v) memset(a,v,sizeof(a))
  21. #define SORT(v) sort(v.begin(),v.end())
  22. #define REV(v) reverse(v.begin(),v.end())
  23. #define B begin()
  24. #define E end()
  25. #define V vector
  26. #define F first
  27. #define S second
  28. #define PSB push_back
  29. #define MP make_pair
  30. #define flash cout.flush()
  31. #define InTheNameOfGod ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);
  32. constexpr ll MOD = 998244353;
  33. constexpr ll mod = 1e9 + 7;
  34. int dx[] = {0,0,1,-1};
  35. int dy[] = {1,-1,0,0};
  36. /*-----*/
  37. #define bug1(a) cerr<<a<<endl;
  38. #define bug2(a,b) cerr<<a<<" "<<b<<endl;
  39. #define bug3(a,b,c) cerr<<a<<" "<<b<<" "<<c<<endl;
  40. /*----*/
  41. const ll N=2e5+5;
  42. vector<ll> adj[N];
  43. ll power(ll n,ll p){if(p==0) return 1;if(p==1)return n;if(p%2)return power(n,p-1)*n;else{ll x=power(n,p/2);return x*x;}}
  44. ll modpow(ll a,ll b,ll m){ll ans=1;while(b){if(b&1)ans=(ans*a)%m;b/=2;a=(a*a)%m;}return ans;}
  45. ll nsum(ll num){return (num*(num+1))/2;}
  46. void edge (ll u,ll v) {adj[u].PSB(v) ;adj[v].PSB(u);}
  47. /*------------------START---------------------*/
  48. ll Test,j;
  49.  
  50. /*-----*/
  51. void solve(){
  52. ll n,k;
  53. string s;
  54. cin>>n>>k;
  55. V<ll> a(n);
  56. for(ll i=0;i<n;i++) cin>>a[i];
  57. SORT(a);
  58. ll l=1,r=a[n-1];
  59. ll ans=1;
  60. while(l<=r){
  61. ll mid=(l+r)/2;
  62. ll sum=0;
  63. for(ll i=0;i<n;i++){
  64. sum+=a[i]/mid;
  65. }
  66. if(sum>=k){
  67. ans=max(ans,mid);
  68. l=mid+1;
  69. }
  70. else r=mid-1;
  71.  
  72. }
  73. //cout<<ans<<endl;
  74. cout<<"Case "<<j<<": "<<ans<<endl;
  75.  
  76.  
  77.  
  78. }
  79. /*-----*/
  80. int main(){
  81. InTheNameOfGod
  82.  
  83.  
  84. cin>>Test;
  85. for(j=1;j<=Test;j++){
  86. solve();
  87. }
  88. loser;
  89. }
  90. /////// C O D I N G I S L I F E ///////
  91.  
Advertisement
Add Comment
Please, Sign In to add comment