| Problem C: Vito‘s family |
For each test case you will be given the integer number of relatives r ( 0 < r < 500) and the street numbers (also integers)
where
they live ( 0 < si < 30000 ). Note that several relatives could live in the same street number.
2 2 2 4 3 2 4 6
2 4
题意:世界闻名的黑社会老大Vito Deadstone要搬到纽约来了。在那里他有一个大家族,并且他们都住在Lamafia大道上。因为Vito时常要拜访所有的亲戚,他想要找一间离他们最近的房子,也就是说他希望从他的家到所有的亲戚的家的距离的和为最小。
他恐吓你写一个程式来帮助帮助他解决这个问题。
思路:看清楚题目之后就很好理解了,就是典型的中位数。
#include<iostream>
#include<algorithm>
using namespace std;
int arry[550];
int main()
{
int n,m;
cin>>n;
while(n--)
{
cin>>m;
for(int i=0;i<m;i++)
cin>>arry[i];
sort(arry,arry+m);
int pos=(m-1)/2;
int sum=0;
for(int i=0;i<m;i++)
{
if(arry[i]-arry[pos]<=0) sum=sum+(-1)*(arry[i]-arry[pos]);
else sum=sum+arry[i]-arry[pos];
}
cout<<sum<<endl;
}
return 0;
}[模拟水题&&中位数]uva10041 Vito's Family,布布扣,bubuko.com
[模拟水题&&中位数]uva10041 Vito's Family
原文:http://blog.csdn.net/zju_ziqin/article/details/21299537