Longest Increasing Subsequence Using Binary Search