..
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