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; }
时间: 2024-10-10 12:37:09