UVA - 10041 Vito's Family 求中位数

来源:互联网 发布:json 数据解析 乱码 编辑:程序博客网 时间:2024/06/11 08:56

题目大意:有一个人要去拜访他的好友,给出他所有好友的位置,问如何才能使他到每个好友的家的距离之和最短

解题思路:求中位数

#include<cstdio>#include<cmath>#include<algorithm>using namespace std;const int maxn = 500 + 5;float  arr[maxn];int main() {int test;scanf("%d", &test);while(test--) {int num;float temp;float ans = 0;scanf("%d", &num);for(int i = 0; i < num; i++)scanf("%f", &arr[i]);sort(arr,arr+num);temp = (arr[(num-1)/2] + arr[num/2]) / 2;for(int i = 0; i < num; i++)ans = ans + abs(arr[i]- temp);printf("%.0f\n",ans);}return 0;}


0 0