1. 程式人生 > 其它 >Problem:貨倉選址

Problem:貨倉選址

技術標籤:演算法c++

題目描述

在一條數軸上有 n家商店,它們的座標分別為 A1~An。現在需要在數軸上建立一家貨倉,每天清晨,從貨倉到每家商店都要運送一車商品。為了提高效率,求把貨倉建在何處,可以使得貨倉到每家商店的距離之和最小。

輸入格式

第一行輸入整數n
第二行n個整數A1~An

輸出格式

輸出一個整數,表示距離之和的最小值

資料範圍

1 ≤ n ≤ 100000,
0 ≤ Ai ≤ 40000

輸入樣例

在這裡插入圖片描述

輸出樣例

在這裡插入圖片描述

程式程式碼

#include <iostream>
#include <algorithm>
 
 using namespace std; 
 
 int
main() { int n; cin >> n; int a[n + 1]; for(int i = 0; i < n; i ++) cin >> a[i]; sort(a,a + n); int sum = 0; for(int i = 0; i < n; i ++) sum = sum + abs(a[i] - a[n / 2]);//中位數是最優解 cout << sum; return 0;
}
  • 若有問題,歡迎交流