很简单的一道题,先从小到大排序,依次比较最小值*当前绳子数目,得出最大值
#include "stdio.h"
#include "stdlib.h"
long rope[10001];
int cmp(const void *a,const void *b)
{
long *x=(long *)a;
long *y=(long *)b;
return *x-*y;
}
int main()
{
int t,m,i,j;
long max;
scanf("%d",&t);
while(t--)
{
max=0;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&rope[i]);
qsort(rope,m,sizeof(long),cmp);
for(j=m,i=0;j>0;i++,j--)
{
if(max < rope[i] * j )
max = rope[i] * j;
}
printf("%ld\n",max);
}
return 0;
}