下列说法正确的是
void merge_sort(int l , int r) {
if(l>=r) return;
int mid = (l+r) / 2 ;
merge_sort(l , mid);
merge_sort(mid+1 , r);
int i = l;
int p = l , q = mid+1;
while(p<=mid || q<=r) {
if(q>r || (p<=mid && a[p]<=a[q]))
b[i++] = a[p++];
else {
b[i++] = a[q++];
cnt += mid -p + 1;
}
}
for(i = l ; i <= r; i++)
a[i] = b[i];}