贪心-绝对值排序不等式

题目:

在一条数轴上有 NN 家商店,它们的坐标分别为 A1A1~ANAN。

现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。

为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。

输入格式

第一行输入整数N。

第二行N个整数A1A1~ANAN。

输出格式

输出一个整数,表示距离之和的最小值。

数据范围

1N1000001≤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 }
View Code

猜你喜欢

转载自www.cnblogs.com/sxq-study/p/12354073.html