not passing all the test cases
#include
using namespace std;
int search(int a[],int s,int e,int ele){
if(s<=e)
{
int m=(s+e)/2;
if(a[m]==ele)
{
return m;
}
if(a[s]<=a[m])
{
if(ele==a[s]&&ele<a[m])
{
search(a,s,m-1,ele);
}
else
{
search(a,m+1,e,ele);
}
}
if(a[e]>a[m])
{
if(ele>=a[m]&&ele<=e)
{
search(a,m+1,e,ele);
}
else
{
search(a,s,m-1,ele);
}
}
}
else
return -1;
}
int main() {
int n,a[100000];
cin>>n;
int s=0;
int e=n-1;
int ele;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
cin>>ele;
int c = search(a,s,e,ele);
cout<<c;
return 0;
}