-
UVA 10041-Vito's Family
-
题目链接:E - Vito's Family
-
思路:
给出n个亲戚家的门号,确定新家位置,求出新家离所有亲戚家距离总和
对门号升序,求中位数既是新家位置,然后求和
-
代码:
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
#define MAX_SIZE 512
int Relatives[MAX_SIZE];
int main()
{
int Street;
int t;
int n;
cin>>t;
while(t--)
{
int Average;
int Min_dis=0;
cin>>n;
for(int i=0;i<n;i++)
cin>>Relatives[i];
sort(Relatives,Relatives+n);
Average=n/2;
for(int i=0;i<n;i++)
Min_dis+=fabs(Relatives[i]-Relatives[Average]);
cout<<Min_dis<<endl;
}
return 0;
}