..

AcWing 104. 货仓选址

题目链接:104. 货仓选址 - AcWing题库

把 $A[i] \sim ~[N]$ 排序,设货仓建在 $X$ 坐标处,$X$ 左侧的商店有 $P$ 嘉,右侧的商店有 $Q$ 家。

若 $P < Q$,则每把货仓的选址向左移动会使距离之和变小 $Q - P$。

同理,若 $P > Q$ 则货仓的选址向左移动会使距离之和变小。

当 $P = QQ$ 时为最优解。

因此货仓应该建在中位数处,即把 $A$ 排序后,

当 $N$ 为奇数时,货仓建在 $A[(N + 1) / 2]$ 处最优;

当 $N$ 为偶数时,货仓建在 $A[N / 2] \sim A[N / 2 + 1]$ 之间的任何位置都是最优解。

完整代码:货仓选址.cpp