Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<algorithm>bool cmp(int a,int b){return a>b;}int T,n;long long a[100005],max;int main(){scanf("%d",&T);while(T--){max=-1;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lld",&a[i]);std::sort(a+1,a+1+n,cmp);if(n<1000){for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)if(max<a[i]*a[j]*(a[i]&a[j]))max=a[i]*a[j]*(a[i]&a[j]);}else{for(int i=1;i<=1000;i++)for(int j=i+1;j<=1000;j++)if(max<a[i]*a[j]*(a[i]&a[j]))max=a[i]*a[j]*(a[i]&a[j]);