why am I getting wrong answer on AGGRCOW - Aggressive cows problem?
Here’s my code, am I missing any specific test cases?
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int P(vector<long long> v, long long x, long long c){
int cows_placed = 1, last_pos = v[0];
for(long long i=1; i<(long long)v.size();++i){
if(v[i]-last_pos>=x){
if(++cows_placed==c)
return 1;
last_pos=v[i];
}
}
return 0;
}
int search(vector<long long> v,long long c){
long long lo=0,hi=v[v.size()-1]-v[0];
while(lo<=hi){
long long mid=lo+((hi-lo)>>1);
if(P(v,mid,c)){
lo=mid+1;
}
else{
hi=mid-1;
}
}
return lo-1;
}
int main(){
vector<long long> stalls;
long long t,n,c,pos;
cin>>t;
while(t--){
cin>>n>>c;
//cout<<n;
while(n--){
cin>>pos;
stalls.push_back(pos);
}
sort(stalls.begin(),stalls.end());
cout<<search(stalls,c)<<endl;
}
}
`