今天來解YKL25(UVA10041):Vito'sfamily
這題是要找中位數的和
將居住地點設在中位數的話
所有其他街道編號到這個位置的距離的總和是最小的
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
while(n--){
int numbers;
cin >> numbers;
vector<int> vec(numbers);
for(int i=0;i<numbers;i++){
cin >> vec[i];
}
sort(vec.begin(),vec.end());
int sum=0,mid = vec[numbers/2];
for(int i=0;i<numbers;i++){
sum += abs(mid-vec[i]);
}
cout << sum << endl;
}
return 0;
}