//最小乘积(基本型) #include<stdio.h> #include<stdlib.h> #define MAXN 100 int comp_a2(const void*a,const void*b)//用来做比较的函数。 { return *(int*)a - *(int*)b; } int comp_a1(const void*a,const void*b)//用来做比较的函数。 { return *(int*)b - *(int*)a; //降序 } int main(){ int T,n,i,minProduct; int a1[MAXN],a2[MAXN]; scanf("%d",&T); while(T>0){ minProduct = 0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a1[i]); //对数组a1进行逆序排序 qsort(a1,n,sizeof(int),comp_a1); for(i=0;i<n;i++) scanf("%d",&a2[i]); //对数组a2进行升序排序 qsort(a2,n,sizeof(int),comp_a2); for(i=0;i<n;i++) minProduct += a1[i]*a2[i]; printf("%d",minProduct); } return 0; }