Anyone please suggest,why the following code is failing few test cases?

#include <stdio.h>
int main(void) {
int n,i,j,v,max;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//array sort
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
v=a[i];
a[i]=a[j];
a[j]=v;
}
}
}
//logic
max=a[0];
if(n>1){
for(i=1;i<n;i++)
{
j=i+1;
if(j<=n)
{
if(a[i]*j>=max)
{
max=a[i]*j;
}
}
}
}
printf("%d",max);
return 0;
}

Please link to the Problem you are trying to solve :slight_smile: