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