此代码为何样例都过不了?(玄关)
  • 板块灌水区
  • 楼主Lmy0412
  • 当前回复2
  • 已保存回复2
  • 发布时间2025/2/7 11:13
  • 上次更新2025/2/7 14:17:57
查看原帖
此代码为何样例都过不了?(玄关)
1504636
Lmy0412楼主2025/2/7 11:13

P1908

#include<iostream>
#include<cstdio>
using namespace std;
const int N=5e5+10;
int a[N],b[N];
long long tot;
void mergesort(int l,int r){
	int i,j,k;
	if(l>=r)
	return ;
	int mid=(l+r)/2;
	mergesort(l,mid);
	mergesort(mid+1,r);
	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++];
			tot+=mid-i+1;
		}		
	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 main(){
	int i,j,n;
	cin>>n;
	for(int i=0;i<n;i++)
	cin>>a[i];
	mergesort(0,n-1);
	cout<<tot;
	return 0;
}
2025/2/7 11:13
加载中...