# Binary Search (Function Program)

Given a sorted array **A[]** ( 0 based index ) and a key** “k”** you need to complete the function **bin_search **to determine the position of the key if the key is present in the array. If the key is not present then you have to return **-1**. The arguments left and right denotes the left most index and right most index of the array **A[]** .

There are multiple test cases. For each test case, this function will be called individually.

**Example**

**Input:**

The first line contains an integer **‘T’** denoting the number of test cases. Then **‘T’** test cases follow. Each test case consists of 3 lines. First line of each test case contains an integer **N **denoting the size of the array . Second line of each test case consists of** ‘N’ **space separated integers denoting the elements of the array** A[]**. The third line contains a key **‘k’ **.

**Output:**

Prints the position of the key if its present in the array else print **-1** if the key is not present in the array.

**Constraints:**

1<=T<=600

1<=N<=200

**Example:**

**Input:**

2

5

1 2 3 4 5

4

5

11 22 33 44 55

445

**Output:**

3

-1

#### **For More Examples Use Expected Output**

/*

Please note that it’s Function problem i.e.

you need to write your solution in the form Function(s) only.

Driver Code to call/invoke your function would be added by GfG’s Online Judge.*/

/*You need to complete this function */

int bin_search(int A[], int left, int right, int k)

{

}

Disclaimer: This content belongs to geeksforgeeks, source: http://geeksforgeeks.org