题目:
在一条数轴上有 NN 家商店,它们的坐标分别为 A1A1~ANAN。
现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。
为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。
输入格式
第一行输入整数N。
第二行N个整数A1A1~ANAN。
输出格式
输出一个整数,表示距离之和的最小值。
数据范围
1≤N≤1000001≤N≤100000
输入样例:
4
6 2 9 1
输出样例:
12
代码:
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 5 const int N = 1e5+10; 6 int arr[N]; 7 8 int main(){ 9 int n;cin >> n; 10 for(int i = 1;i <= n;++i) cin >> arr[i]; 11 sort(arr+1, arr+1+n); 12 long long ans = 0; 13 for(int i = 1;i <= n;++i) ans += abs(arr[i] - arr[(n+1) / 2]);//减中位数 14 cout << ans << endl; 15 return 0; 16 }