题目链接:http://acm.hznu.edu.cn/OJ/problem.php?id=1557
题解:将两个数组分别升序和降序排序后,累加差的绝对值。
Ac代码:
#include<stdio.h>
#include<math.h>
int main (void)
{
int n,i,j,a[10000],b[10000],c,d,e=0;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",&a[i]);}
for(i=0;i<n;++i){
scanf("%d",&b[i]);}
for(i=0;i<n-1;++i){
for(j=n-1;j>i;--j){
if(a[j]<a[j-1]){
c = a[j];
a[j] = a[j-1];
a[j-1] = c;
}
if(b[j]>b[j-1]){
d = b[j];
b[j] = b[j-1];
b[j-1] = d;
}
}
}
for(i=0;i<n;++i){
e +=abs(a[i]-b[i]);}
printf("%d\n",e);
return 0;
}