What is problem in my code first test case is not passing

#include
using namespace std;

int find_index(int n,int a[], int key)
{
int start=0;
int end=n-1;
while(start<=end)
{
int mid=(start+end)/2;

	if(a[mid]==key)
	return mid;

	if(a[mid]<a[start])
	{
		if(key>a[mid] and key<a[end])
		start=mid+1;
		else
		end=mid-1;
	}
	
	if(a[mid]>a[end])
	{
		if(key>a[start] and key<a[mid])
		end=mid-1;
		else
		start=mid+1;
	}

	
}
return -1;

}
int main()
{
int n;
cin>>n;
int a[n];
for( int i=0;i<n;i++)
cin>>a[i];

 int key;
cin>>key;

cout<<find_index(n,a,key)<<endl;

}

I have edited your code… Try to submit it now…