Binary search the partition point on the smaller array, not a value. Cut both arrays so the
combined left half has exactly (m+n+1)/2 elements — once every value on the left is
≤ every value on the right, the median sits right at that cut, no merging required.
O(log min(m,n)) instead of O(m+n).