提交时间:2023-09-13 13:50:41
运行 ID: 102490
#include <bits/stdc++.h> using namespace std; int a[1005],r[1005],ans; void msort(int s,int t){ if(s==t)return; int mid=(s+t)/2; msort(s,mid); msort(mid+1,t); int i=s,j=mid+1,k=s; while(i<=mid&&j<=t) { if(a[i]<=a[j]) { r[k]=a[i];k++;i++; }else{ r[k]=a[j];k++;j++; ans+=mid-i+1; } } while(i<=mid) { r[k]=a[i];k++;i++; } while(j<=t) { r[k]=a[j];k++;j++; } for(int i=s;i<=t;i++)a[i]=r[i]; } int main() { int n,i; cin>>n; for(i=1;i<=n;i++)cin>>a[i]; msort(1,n) ; cout<<ans; return 0; }