View Code of Problem 61

#include<stdio.h>
int mini(int a[],int m,int l)
{
	int min,i;
	min=a[l];
    for(i=l;i<m;i++)
		if(a[i]<min)
			min=a[i];
    return min;
}
void xu(int a[],int m)
{
	int i,j,t;
	for(i=0;i<m;i++)
		for(j=0;j<m;j++)
			if(a[i]<a[j])
			{
				t=a[i];
				a[i]=a[j];
				a[j]=t;
			}
}
int main()
{
	int n;
	scanf("%d",&n);
	while(n--)
	{
		int m,a[1000],i=0,max,t;
		scanf("%d",&m);
		for(i=0;i<m;i++)
			scanf("%d",&a[i]);
        xu(a,m);
		t=mini(a,m,0)*m;
		for(i=1;i<m;i++)
		{max=mini(a,m,i)*(m-i);
	     if(max>t)
			 t=max;
		}
		printf("%d\n",t);
	}
}

Double click to view unformatted code.


Back to problem 61