1 条题解

  • 1
    @ 2022-9-3 18:54:16
    #include<bits/stdc++.h>
    using namespace std;
    long long n,s,b[1250005],c[2500000],i;
    void px(long l,long r)
    {
    	if(l==r)return;
    	long mid=(l+r)/2;
    	long k=l,i=l,j=mid+1;
    	px(l,mid);
    	px(mid+1,r);
    	while(i<=mid&&j<=r)
    		if(b[i]<=b[j])c[k++]=b[j++];
    		else c[k++]=b[i++],s=(s+r-j+1);
    	while(i<=mid)c[k++]=b[i++];
    	while(j<=r)c[k++]=b[j++];
    	for(i=l;i<=r;i++)b[i]=c[i];
    }
    int main()                                                                                                                                                        
    {
       cin>>n;
       for(i=1;i<=n;i++)cin>>b[i]; 
    	px(1,n);
       cout<<s<<endl;
       return 0;
    }
    • 1

    信息

    ID
    106
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    18
    已通过
    13
    上传者