首页 > 代码库 > UVaOJ 112道题目-排序

UVaOJ 112道题目-排序

1、110401/10041 Vito’s Family (Vito 家族)

距离最小的点必定是中位数,必定出现在输入的点之间

#include<stdio.h>#include<string.h>#include<algorithm>#include<math.h>#include<ctype.h>using namespace std;int s[505];int dis[30005];const int INF=1000000000;int main(){    int T,r;    scanf("%d",&T);    while(T--)    {        scanf("%d",&r);        int j,i,sum=0;        memset(dis,0,sizeof(dis));        for(i=0;i<r;i++)        {            scanf("%d",&s[i]);        }        for(i=0;i<r;i++)        {            int x=s[i];            for(j=0;j<r;j++)            {                dis[x]+=abs(s[j]-x);            }        }        int d=INF;        for(i=0;i<r;i++)            if(dis[s[i]]<d)d=dis[s[i]];        printf("%d\n",d);    }    return 0;}
View Code

 

UVaOJ 112道题目-排序