**数组开小了,可以开成t[1000010]和a[1000010],底下循环也要改**
by 100206lbm @ 2023-08-22 21:15:16
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,cmm,sum;
int t[1000010]={0};
int a[1000010]={0};
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>cmm;
t[cmm]++;
}
for(int i=1;i<1000010;i++){
sum=0;
for(int j=1;i*j<1000010;j++){
sum+=t[i*j];
}
a[sum]=i;
}
for(int i=n-1;i>=1;i--){
a[i]=max(a[i],a[i+1]);
}
for(int i=1;i<=n;i++){
cout<<a[i]<<endl;
}
}
```
by 100206lbm @ 2023-08-22 21:15:38
@[flm20100122](/user/353002)
by 100206lbm @ 2023-08-22 21:17:00
@[100206lbm](/user/625047) 蟹蟹
by flm20100122 @ 2023-08-28 21:23:25