Here is the code. I can’t submit it, probably some runtime error.
#include
using namespace std;
int b_search(int a[], int n, int key)
{
int beg = 0;
int last = n-1;
int mid = (beg+last)/2;
while(beg != last)
{
if(a[mid] == key)
{
return mid;
}
else if(a[mid] > key)
{
last = mid;
}
else if(a[mid] < key)
{
beg = mid;
}
}
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;
int ans = b_search(a,n,key);
cout<<ans;
}