#P1049. [2025 实验室一面] 哈基米南北路多

[2025 实验室一面] 哈基米南北路多

题目背景

听我说,哈基米

你从这里出去之后

只可去南北,不能往东西

东有钉东寄,西有阿西噶

而南北路多

题目描述

哈基米被困在一张无边无际的棋盘上。棋盘的横轴为东西方向,纵轴为南北方向。只能往南或北走,不能往东或西。

在棋盘上有 nn 个目标点 (xi,yi)(x_i, y_i),哈基米想要选择一个起点 (x,y)(x, y),使得他到所有目标点的曼哈顿距离之和最小。

曼哈顿距离定义为:

$$d((x_1, y_1), (x_2, y_2)) = |x_1 - x_2| + |y_1 - y_2| $$

由于哈基米无法左右移动,所以横坐标 xx 必须固定为某个整数常数 XX,你只需要在纵轴上选择最佳的 yy

请你输出:

哈基米选取最优纵坐标 yy 时,到所有点的最小曼哈顿距离和。

输入格式

第一行两个整数 nnXX。 接下来 nn 行,每行两个整数 xi,yix_i, y_i

1n2×1051 \leq n \leq 2 \times 10^5

109xi,yi,X109-10^9 \leq x_i, y_i, X \leq 10^9

输出格式

一个整数 ansans,表示最小的曼哈顿距离和。

输入输出样例

输入 #1

5 0
1 2
2 4
-3 6
0 1
5 10

输出 #1

24

解释 #1

在样例中,横坐标固定为 (X = 0),所以到各点的横向距离为:

|1-0| + |2-0| + |-3-0| + |0-0| + |5-0| = 11

这一部分是恒定的,不会因为起点纵坐标的不同而变化。 接下来考虑纵向距离。如果我们依次尝试不同的纵坐标:

  • 若选择 (y = 1),纵向距离和为 (|2-1| + |4-1| + |6-1| + |1-1| + |10-1| = 19)。
  • 若选择 (y = 4),纵向距离和为 (|2-4| + |4-4| + |6-4| + |1-4| + |10-4| = 13)。
  • 若选择 (y = 6),纵向距离和为 (|2-6| + |4-6| + |6-6| + |1-6| + |10-6| = 19)。

可以看到,当纵坐标取在“中间”位置(例如 (y=4))时,纵向距离之和最小,为 13。