这题依旧是数学题,简单得说就是,比如有20、10、9,有这三个数,当为1时,结果是20,当为2时,结果是20(10*2),当为3时,结果是27(9*3);就是这么推算的,所以要加个快排。
代码如下
#include <stdio.h>
#include <stdlib.h>int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
void main()
{
int m,n,i,j,a[1005],b[1005];
scanf("%d",&m);
while(m--)
{
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
qsort(a,n,sizeof(a[0]),cmp);
for(i=n-1;i>=0;i--)
b[i]=a[i]*(n-i);
qsort(b,n,sizeof(b[0]),cmp);
printf("%d\n",b[n-1]);
}
}