Optimal Algorithmic Approach
Modified merge sort: count inversions during merge phase.
Core Invariants & Edge Cases
- During the merge step, when a right-half element is placed before left-half elements, all remaining left-half elements form inversions
- Count = mid - left_pointer for each such placement
- Piggybacks on merge sort for O(n log n)