#include<bits/stdc++.h> usingnamespace std; constint LEN = 1e6 + 50; int n, cnt[LEN], w[LEN];
intmain(){ int in; cin >> n; for (int i = 1; i <= n; ++i) cin >> in, ++cnt[in]; for (int i = 1; i <= 1e6; ++i) { for (int j = i; j <= 1e6; j += i) { w[i] += cnt[j]; } } for (int k = 1, i = 1e6; i >= 1 && k <= n; ++k) { while (w[i] < k) --i; cout << i << endl; } return0; }
#include<bits/stdc++.h> usingnamespace std; constint LEN = 1e6 + 50; int n, w[LEN];
intmain(){ int in; cin >> n; for (int i = 1; i <= n; ++i) { cin >> in; for (int j = 1; j <= in / j; ++j) { if (in % j) continue; ++w[j]; if (j != in / j) ++w[in / j]; } } for (int k = 1, i = 1e6; i >= 1 && k <= n; ++k) { while (w[i] < k) --i; cout << i << endl; } return0; }