Upper Bound Using Binary Search In Cpp