题目描述
题解
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 2000000;
int n;
int a[N], b[N];
map<int,int>cnt;
void work(void)
{
int ans, m = 0;
double Min = 1e19;
scanf("%d", &n);
for (int i=1;i<=n;++i) {
scanf("%d", a+i);
cnt[a[i]] = 0;
}
for (int i=1;i<=n;++i)
{
cnt[a[i]] ++;
if (cnt[a[i]] == 2) b[++m] = a[i];
if (cnt[a[i]] == 4) b[++m] = a[i];
}
sort(b+1,b+m+1);
for (int i=1;i<m;++i)
{
if (b[i] == b[i+1]) {
printf("%d %d ", b[i], b[i]);
printf("%d %d\n", b[i], b[i]);
return;
}
if (1.0 * b[i+1] / b[i] < Min)
Min = 1.0 * b[i+1] / b[i], ans = i;
}
printf("%d %d ", b[ans], b[ans]);
printf("%d %d\n", b[ans+1], b[ans+1]);
return;
}
int main(void)
{
int T; cin>>T;
while (T --) work();
return 0;
}