C++样例过了,但是全WA
  • 板块P1908 逆序对
  • 楼主Nemo_
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/7/13 15:13
  • 上次更新2023/11/3 10:06:34
查看原帖
C++样例过了,但是全WA
982107
Nemo_楼主2023/7/13 15:13
#include<bits/stdc++.h>
using namespace std;
long int p[500010];
long int a[500010];
long long n,sum;
void msort(int s,int t)
{
	if(s==t) return ;
	int mid=(s+t)/2;
	int i=s,j=mid+1,k=s;
	msort(s,mid);
	msort(mid+1,t);
	while(i<=mid&&j<=t)
	{
		if(a[i]<=a[j])
		{
			p[k]=a[i];
			k++;i++;
		}
		else
		{
			p[k]=a[j];
			j++;k++;
			sum+=mid-i+1;
		}
	}
	while(i<=mid)
	{
		p[k]=a[i];
		k++;i++;
	}
	while(j<=t)
	{
		p[k]=a[i];
		k++;j++;
	}
	for(int m=s;m<=t;m++)
	{
		a[m]=p[m];
	}
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	} 
	msort(1,n);
    printf("%lld",sum);
	return 0;
}
2023/7/13 15:13
加载中...