Advertisement
Farjana_akter

Untitled

Oct 4th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long int arr[2000000],n,cow;
  4.  
  5. bool chk(long long int dis)
  6. {
  7. // cout<<"dis "<<dis<<endl;
  8. long long int i,k=0,c=0,sum=1;
  9. for(i=0;i<n;i++)
  10. {
  11. if(arr[i]-arr[k]>=dis)
  12. {
  13. sum++;
  14. k=i;
  15. if(sum==cow)
  16. return true;
  17. }
  18. }
  19. return false;
  20. }
  21.  
  22. int main()
  23. {
  24. long long int t,i,j,ans,lo,hi,mid;
  25. cin>>t;
  26. while(t--)
  27. {
  28. cin>>n>>cow;
  29. for(i=0;i<n;i++)
  30. cin>>arr[i];
  31. sort(arr,arr+n);
  32. lo=0,hi=arr[n-1],ans=0;
  33. while(lo<=hi)
  34. {
  35. mid=(lo+hi)/2;
  36. // cout<<"1st mid "<<mid<<endl;
  37. if(chk(mid))
  38. {
  39. ans=mid;
  40. lo=mid+1;
  41. }
  42. else
  43. {
  44. hi=mid-1;
  45. }
  46. // cout<<"hi "<<hi<<endl;
  47. // cout<<"lo "<<lo<<endl;
  48. // cout<<"mid "<<mid<<endl;
  49. // cout<<"ans "<<ans<<endl;
  50. }
  51. cout<<ans<<endl;
  52. }
  53. return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement