又是毕业季II

【代码】

#include<bits/stdc++.h>

#define LL long long

using namespace std;

const int N = 1000000, M = 90;

int n, m, mx = 0, a, cnt[N];
int main() {
	memset(cnt, 0, sizeof cnt);
	scanf("%d", &n);
	for(int i = 1; i <= n; ++i) {
		scanf("%d", &a);
		if(a > mx) mx = a;
		for(int j = 1; j * j <= a; ++j) {
			if(a % j == 0) {
				++cnt[j];
				++cnt[a / j];
				if(j * j == a) --cnt[j];
			}
		}
	}
	int j = mx;
	for(int i = 1; i <= n; ++i) {
		for(; j >= 1; --j) {
			if(cnt[j] >= i) {
				printf("%d\n", j);
				break;
			}
		}
	}
	return 0;
}
posted @ 2018-03-26 18:16  绍兴土匪  阅读(85)  评论(0编辑  收藏  举报