BinSearch
int BinSearch(int *arr, int begin, int end, int x) {
while (begin <= end) {
int mid = begin + (end - begin) / 2;
if (arr[mid] == x) {
return mid;
} else if (arr[mid] < x) {
begin = mid + 1;
} else {
end = mid - 1;
}
}
return -1;
}