为何 MLE
  • 板块灌水区
  • 楼主jfls211320zhr
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/10/1 20:02
  • 上次更新2024/10/1 22:05:36
查看原帖
为何 MLE
1082999
jfls211320zhr楼主2024/10/1 20:02

空间限制是 512MB512\mathrm{MB},但是为啥就 MLE\mathrm{MLE} 了捏

#include<bits/stdc++.h>
using namespace std;
int n;
long long ans;
int a[1000007];
int t[1000007];
void msort(int l,int r){
	int mid=(r-l)/2;
	msort(l,mid);
	msort(mid+1,r);
	int newl=l,newr=mid+1,tmp=l;
	while(newl<=mid&&newr<=r){
		if(a[newr]<a[newl]){
			t[tmp]=a[newr];
			tmp++;
			newr++;
			ans+=(long long)(mid-newl+1);
		}
		if(a[newl]<a[newr]){
			t[tmp]=a[newl];
			tmp++;
			newl++;
		}
	}
	while(newl<=mid){
		t[tmp]=a[newl];
		tmp++;
		newl++;
	}
	while(newr<=mid){
		t[tmp]=a[newr];
		tmp++;
		newr++;
	}
	for(int i=l;i<=r;i++)a[i]=t[i];
	return;
}
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	msort(1,n);
	printf("%lld",ans);
	return 0;
}
2024/10/1 20:02
加载中...