title: 货仓选址
date: 2023-12-19 15:06:02
tags: 排序
categories: 算法进阶指南
题目大意
解题思路
将数组排序后,将货仓建在 x x x 坐标处,其左侧和右侧的商家数量相同的时候最优
实现代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
const int N = 6E5 + 10, mod = 1e9 + 7;
int cnt[N];
int main()
{
int n; cin >> n;
vector<int> a(n + 1);
for(int i = 1; i <= n; i ++) cin >> a[i];
sort(a.begin() + 1,a.end());
int x = a[n / 2 + 1];
ll ans = 0;
for(int i = 1; i <= n; i ++){
ans += abs(x - a[i]);
}
cout << ans << endl;
return 0;
}