#include <bits/stdc++.h>
using namespace std;
int a[100005];
int n;
int k, m, ans;
int main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
sort(a, a + n + 1);
if (n % 2 == 0)
k = a[n / 2], m = n / 2;
else
k = a[n / 2 + 1], m = n / 2 + 1;
for (int i = 1; i <= m; i++)
ans += k - a[i];
for (int i = n; i > m; i--)
ans += a[i] - k;
cout << ans;
return 0;
}
题解:货仓选址(3月21日)
最新推荐文章于 2024-09-10 19:16:08 发布
该C++代码段首先读取数组大小n和元素,对数组进行排序,然后计算中位数。如果n是偶数,中位数是中间两个元素的平均值,否则是中间的元素。接着计算中位数与数组其他元素差值的绝对值之和并输出结果。
摘要由CSDN通过智能技术生成