//参考:https://www.acwing.com/solution/content/31266/
#include<bits/stdc++.h>
using namespace std;
#define fir(i,a,n) for(int i=a;i<=n;i++)
//======================
const int N=1e5+10,M=1e6+10;
int a[N],cnt[M],ans[M];
int n;
int main()
{
cin>>n;
fir(i,1,n)
{
scanf("%d",&a[i]);
cnt[a[i]]++;
}
for(int i=1;i<=1e6;i++)
{
if(!cnt[i]) continue;
for(int j=i;j<=1e6;j+=i)
{
ans[j]+=cnt[i];
}
}
fir(i,1,n) cout<<ans[a[i]]-1<<endl;//除了自己
return 0;
}
AcWing 1291. 轻拍牛头 思维
最新推荐文章于 2022-08-01 16:49:03 发布