样例已过,但全WA
  • 板块P1908 逆序对
  • 楼主3_14
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/7/17 10:14
  • 上次更新2024/7/17 11:15:13
查看原帖
样例已过,但全WA
913288
3_14楼主2024/7/17 10:14

Code:

#include<bits/stdc++.h>
#define str to_string
using namespace std;
using ll=long long;
const int MAX=5e5+1;
int a[MAX],b[MAX],cnt=0;
void merge_sort(int l,int r){
	cnt++;
	if(l==r)return;
	int mid=l+r>>1;
	merge_sort(l,mid);
	merge_sort(mid+1,r);
	int i=l,j=mid+1,k=l;
	while(i<=mid&&j<=r)
		if(a[i]<a[j])b[k++]=a[i++];
		else b[k++]=a[j++];
	while(i<=mid)b[k++]=a[i++];
	while(j<=r)b[k++]=a[j++];
	for(int i=l;i<=r;i++)a[i]=b[i];
}
int n;
int main(){
	cin>>n; 
	for(int i=1;i<=n;i++)cin>>a[i];
	merge_sort(1,n);
	cout<<cnt<<'\n';
	return 0;
}
2024/7/17 10:14
加载中...