Wrong Answer on SPOJ
#include< bits/stdc++.h >
typedef long long ll;
using namespace std;
bool placeCow(ll min ,vector &arr,ll n,ll c)
{
ll count=1;
ll last=0;
for(ll i=1;i<n;i++)
{
if(arr[i]-arr[last]>=min)
{
last=i;
count++;
if(count==c)
return true;
}
}
return false;
}
ll minDist(vector &arr,ll n ,ll c)
{
ll s=0,e=arr[n-1]-arr[0];
ll ans=0;
while(s<=e)
{
ll mid=s+((e-s)/2);
if(placeCow(mid,arr,n,c))
{
ans=mid;
s=mid+1;
}
else
{
e=mid-1;
}
}
return ans;
}
int main()
{
ll t;
cin>>t;
while(t–)
{
ll n,c;
cin>>n>>c;
vector arr(n);
for(ll i=0;i<n;i++)
cin>>arr[i];
sort(arr.begin(),arr.end());
cout<<minDist(arr,n,c);
}
}