样例已过,全wa,求助
查看原帖
样例已过,全wa,求助
1200191
封禁用户楼主2024/9/22 10:40
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int M=5e5+5;
ll n;
ll a[M],temp[M];
ll ans=0;
void mSort(ll l,ll r) {
	if(l>=r)return ;
	ll mid=(l+r)/2,i,j,c=0;
	mSort(l,mid);
	mSort(mid+1,r);
	i=l;
	j=mid+1;
	while(i<=mid && j<=r) {
		if(a[i]<a[j]) {
			temp[++c]=a[i++];
		} else {
			temp[++c]=a[j++];
			ans+=mid-i+1;
		}
	}
	while(i<=mid) {
		temp[++c]=a[i++];
	}
	while(j<=r) {
		temp[++c]=a[j++];
	}
	for(i=1; i<=n; i++) {
		a[l++]=temp[i];
	}
}

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>n; 
	for(ll i=1; i<=n; i++) {
		cin>>a[i];
	}
	mSort(1,n);
	cout<<ans<<"\n";
}
2024/9/22 10:40
加载中...