y方向就是裸的货仓选址模型
x方向,假设答案的起点为a,那么答案就是sigma(abs(xi-(a+i))) 显然a取xi-i的中位数就好了
1 }a[N]; 2 3 int X[N]; 4 int Y[N]; 5 int Z[N]; 6 int n; 7 8 int main() { 9 scanf("%d",&n); 10 for(int i=1;i<=n;i++) { 11 a[i].in(); 12 X[i]=a[i].x; 13 Y[i]=a[i].y; 14 } 15 sort(X+1,X+n+1); 16 sort(Y+1,Y+n+1); 17 for(int i=1;i<=n;i++) Z[i]=X[i]-i; 18 sort(Z+1,Z+n+1); 19 ll ans=0; 20 for(int i=1;i<=n;i++) ans+=abs(Y[i]-Y[(n+1)/2]); 21 for(int i=1;i<=n;i++) ans+=abs(Z[i]-Z[(n+1)/2]); 22 cout<<ans<<endl; 23 return 0; 24 }