问题2567--最大乘积

2567: 最大乘积

时间限制: 3 Sec  内存限制: 128 MB
提交: 175  解决: 33
[提交] [状态] [讨论版] [命题人:]

题目描述

给定一个长度为 n 的整数数组 a1, a2, ..., an 。从中找到乘积最大的五个整数 ai, aj, ak, al, at (i < j < k < l < t) 。


输入

输入包含多组数据;

第一行输入一个正整数t (1 ≤ t ≤ 2 × 104),表示测试数据的组数。

每组测试数据都包含两行数据;

第一行输入一个正整数n (5  ≤ n ≤ 105),表示数组的长度;

第二行输入用空格隔开的n个整数 a1, a2, ..., an  (−3 × 103≤ ai ≤ 3 × 103) 。

所有组 n 的和不超过  2 × 105


输出

对于每一组测试数据,输出数组中任意五个整数的最大的乘积。


样例输入

4
5
-1 -2 -3 -4 -5
6
-1 -2 -3 1 2 -1
6
-1 0 0 0 -1 -1
6
-9 -7 -5 -3 -2 1

样例输出

-120
12
0
945

提示

针对第一组测试数据,只能选择  (−1) × (−2) × (−3) × (−4) × (−5)=−120 ;

针对第二组测试数据,最好的选择是 (−1) × (−2) × (−3) × 2 × (−1)=12 ;

针对第三组测试数据,任意选择五个整数,乘积的结果必定是 0 ;

针对第四组测试数据,最好的选择是  (−9) × (−7) × (−5) × (−3) × 1=945 。


来源/分类


[提交] [状态]