I cannot understand what is error in my code?
#include
using namespace std;
int main() {
int N;
cin>>N;
int a[N];
for(int i=0;i<N;i++){
cin>>a[i];
}
int key;
cin>>key;
int s=0,e=N-1,mid;
while(s<=e){
mid=(s+e)/2;
if(a[mid]==key){
cout<<mid;
}
else if(a[s]<=a[mid]){
if(a[s]<=key && key<=a[mid]){
e=mid-1;
}
else{
s=mid+1;
}
}
else{
if(a[e]>=key && key>=a[mid]){
s=mid+1;
}
else{
e=mid-1 ;
}
}
}
if(s>e){
cout<<"-1"<<endl;
}
return 0;
}