0分求助~
查看原帖
0分求助~
1585626
Star_Bei_Hesan楼主2024/12/3 20:27
#include<bits/stdc++.h>
using namespace std;
int a[300005],b[300005];
int n;
long long mg(int l,int r){
    if(l+1==r) return 0;
    int mid=(l+r)/2,res=mg(l,mid)+mg(mid+1,r);
    int i=l,j=mid,k=l;
    for(;k<r;k++){
        if(j==r||(i<mid&&a[i]>a[j])){
            b[k]=a[i];
            i++;
        }
        else{
            b[k]=a[j];
            j++;
            res+=mid-i;
        }
        for(int k=l;k<r;k++) a[i]=b[i];
    }
    return res;
}
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>a[i];
    cout<<mg(1,n);
}

me用归并做的,为何0分!!! 请各位大佬帮助~

2024/12/3 20:27
加载中...