杭电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 }