104 貨倉選址

2022-07-07 16:24:13 字數 545 閱讀 4341

a[1]~a[n]排序,設貨倉建在 x 座標處,x 左側的商店有 p 家,右側的商店有 q 家。若 p < q ,則把貨倉的選址向右移動 1 單位距離,距離之和就會減小 q - p。同理,若 p > q ,則貨倉的位置想左移動會使距離之和變小。當 p = q 時為最優解。

因此貨倉應該建在中位數處,即把 a 排序後,當 n 為奇數時,貨倉建在 a[(n+1)/2] 處最優;當 n 為偶數時,貨倉建在 a[n/2]~a[n/2+1] 之間的任何位置都是最優解。

#includeusing namespace std;

const int n=100100;

int a[n],n,i,ans,sum;

int main()

AcWing 104 貨倉選址

題目描述 在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個整數a1 an。輸出格式 輸出乙個整數,表示距離之...

AcWing 104 貨倉選址

在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個整數a1 an。輸出格式 輸出乙個整數,表示距離之和的最小值...

AcWing 104 貨倉選址

在一條數軸上有 n 家商店,它們的座標分別為 a1 an。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。輸入格式 第一行輸入整數n。第二行n個整數a1 an。輸出格式 輸出乙個整數,表示距離之和的最小值...