Whats wrong with this code?

#include
using namespace std;

bool canplacecows(long long int arr[],long long int n,long long int cows,long long int min_sep){

long long int lastcow=arr[0];

long long int cnt=1;

for(int i=1;i<n;i++){
if(arr[i]-lastcow>=min_sep){
lastcow=arr[i];
cnt++;
if(cnt==cows){
return true;
}
}
}
return false;
}
int main(){

long long int N;
cin>>N;

cout<<" ";

long long int C;
cin>>C;

cout<<endl;

long long int arr[N];
for(int i=0;i<N;i++){
	cin>>arr[i];
}

long long int s=0;
long long int e=arr[N-1]-arr[0];

long long int ans=0;

while(s<=e){

long long int mid=(s+e)/2;

bool cowsplaced=canplacecows(arr,N,C,mid);

if(cowsplaced){
	ans=mid;
	s=mid+1;
}
else{
	e=mid-1;
}

}
cout<<ans<<endl;
return 0;
}

please share ur code after saving it on ide.codingblocks.com

corrected code:


if this solves your doubt, please mark it as resolved