求助(急)
查看原帖
求助(急)
851170
违规用户名851170楼主2024/5/2 17:21

有n个点,求任意两个点的曼哈顿距离之和,n<=300000

求调代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin>>n;
	int x[n+1],y[n+1];
	for(int i=1;i<=n;i++){
		cin>>x[i]>>y[i];
	}
	sort(x+1,x+n+1);
	sort(y+1,y+n+1);
	int ans=0;
	for(int i=1;i<=n;i++){
		ans+=x[i]*(2*i-n-1);
		ans+=y[i]*(2*i-n-1);
	}
	cout<<ans;
}
2024/5/2 17:21
加载中...