allocate a tighter temporary array in MergeSort