有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;
}