警钟撅烂
查看原帖
警钟撅烂
969221
Fryderyk_Chopin楼主2024/5/23 12:58

这是一份全WA码:

#include<bits/stdc++.h>
using namespace std;
int n,a[1000010],b[1000010];
long long ans;
void mid_sort(int l,int r){
    if(l==r) return;
    int mid=l+r>>1;
    mid_sort(l,mid),mid_sort(mid+1,r);
    int top=0,i=l,j=mid+1;
    while(i<=mid && j<=r){
        if(a[i]>a[j]){
			ans+=mid-i+1;
            b[++top]=a[++j];
		}
		else b[++top]=a[++i];
	}
    while(i<=mid) b[++top]=a[++i];
    while(j<=r) b[++top]=a[++j];
    for(int k=l;k<=r;k++) a[k]=b[k-l+1];
}
int main(){
    cin>>n;
    for(int i=n;i>=1;i--) cin>>a[i];
    mid_sort(1,n);
    cout<<ans;
    return 0;
}

请各位务必留意 ++i++i 和 i++i++ 的区别。

2024/5/23 12:58
加载中...