iterative binary search - divide and conquer