/**
* 最大乘积
* @param A int整型一维数组
* @param ALen int A数组长度
* @return long长整型
*/
long long solve(int* A, int ALen ) {
// write code here
long long min1=10001,min2=10001;
long long max1= -10001,max2=-10001,max3=-10001;
for(int i=0;i<ALen;i++)
{
if(A[i]<min1)
{
min2=min1;
min1=A[i];
}else if (A[i] < min2)
{
min2=A[i];
}
if(A[i]>max1)
{
max3=max2;
max2=max1;
max1=A[i];
}else if(A[i] > max2)
{
max3=max2;
max2=A[i];
}else if(A[i] > max3)
{
max3=A[i];
}
}
return (max1*max2*max3) > (min1*min2*max1) ? max1*max2*max3 : min1*min2*max1 ;
}