杭电2083

 1 #include<stdio.h>
 2 int a[600];
 3 int main()
 4 {
 5     void qs_sort(int a[],int x,int y);
 6     int jdz(int x,int y);
 7     int n,m,i,mid,s;
 8     while(~scanf("%d",&n))
 9     {
10         while(n--)
11         {
12             scanf("%d",&m);
13             for(i=0; i<m; ++i)
14                 scanf("%d",&a[i]);
15             qs_sort(a,0,m-1);
16             mid=m/2;
17             //printf("mid=%d\n",mid);
18             for(i=s=0; i<m; ++i)
19                 s+=jdz(a[i],a[mid]);
20             printf("%d\n",s);
21         }
22     }
23 }
24 
25 void qs_sort(int a[],int x,int y)
26 {
27     if(x>y)
28         return ;
29     int i=x,j=y,jzs=a[x];
30     while(i!=j)
31     {
32         while(a[j]>=jzs && i<j) --j;
33         while(a[i]<=jzs && i<j) ++i;
34         if(i<j)
35         {
36             int t=a[i];
37             a[i]=a[j];
38             a[j]=t;
39         }
40     }
41     a[x]=a[i];
42     a[i]=jzs;
43     qs_sort(a,x,i-1);
44     qs_sort(a,i+1,y);
45 }
46 
47 int jdz(int x,int y)
48 {
49     int z;
50     if(x>y)
51         z=x-y;
52     else
53         z=y-x;
54     return z;
55 }

 

posted @ 2016-11-17 17:44  Posase  阅读(249)  评论(0编辑  收藏  举报