Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- long long int arr[2000000],n,cow;
- bool chk(long long int dis)
- {
- // cout<<"dis "<<dis<<endl;
- long long int i,k=0,c=0,sum=1;
- for(i=0;i<n;i++)
- {
- if(arr[i]-arr[k]>=dis)
- {
- sum++;
- k=i;
- if(sum==cow)
- return true;
- }
- }
- return false;
- }
- int main()
- {
- long long int t,i,j,ans,lo,hi,mid;
- cin>>t;
- while(t--)
- {
- cin>>n>>cow;
- for(i=0;i<n;i++)
- cin>>arr[i];
- sort(arr,arr+n);
- lo=0,hi=arr[n-1],ans=0;
- while(lo<=hi)
- {
- mid=(lo+hi)/2;
- // cout<<"1st mid "<<mid<<endl;
- if(chk(mid))
- {
- ans=mid;
- lo=mid+1;
- }
- else
- {
- hi=mid-1;
- }
- // cout<<"hi "<<hi<<endl;
- // cout<<"lo "<<lo<<endl;
- // cout<<"mid "<<mid<<endl;
- // cout<<"ans "<<ans<<endl;
- }
- cout<<ans<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement