bzoj1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
傻逼题。。。(然而一开始题意都不懂)
#include<cstdio> #include<cstring> using namespace std; int n,a[110000],f[1100000],v[1100000]; int main() { scanf("%d",&n); memset(v,0,sizeof(v)); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); v[a[i]]++; } for(int i=1;i<=1000000;i++) if(v[i]!=0) { for(int j=i;j<=1000000;j+=i)f[j]+=v[i]; } for(int i=1;i<=n;i++) printf("%d\n",f[a[i]]-1); return 0; }
pain and happy in the cruel world.