问题描述
给出NN个整数。你要选择至少一个数,使得你选的数的乘积最大。
保证任意选一些数相乘的绝对值都不会大于2^{63}-1263−1。
输入描述
第一行读入一个数TT表示数据组数。
对于每组数据:
第一行是一个数NN,第二行是NN个整数。
1 \leq T \leq 10001≤T≤1000
1 \leq N \leq 621≤N≤62
hack时建议输出最后一行的行末回车;每一行的结尾不要输出空格。
输出描述
对于每组数据,输出一个数表示最大的乘积。
输入样例
1
3
1 2 3
输出样例
6
#include
#include
#include
#include
using namespace std;
typedef long long ll;
ll a[111];
int main()
{
int i,j,t,n,n1,n2,n3;
ll ans,temp;
cin>>t;
while(t--) {
cin>>n;
n1=n2=n3=0;
for(i=0;i>a[i];
sort(a,a+n);
for(i=0;i0) {
if(n1%2) ans=ans/a[n1-1];
cout<