luogu_1414 又是毕业季II
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int n,k,a[10010],t[1000010],dp[10010],maxn,cnt;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
int x;
scanf("%d",&x);
t[x]++;
maxn=max(maxn,x);
}
for(int i=1;i<=maxn;i++){
cnt=0;
for(int j=1;i*j<=maxn;j++)cnt+=t[i*j];
for(int j=1;j<=cnt;j++)a[j]=max(a[j],i);
}
for(int i=1;i<=n;i++)printf("%d\n",a[i]);
return 0;
}

浙公网安备 33010602011771号