1621:輕拍牛頭

#pragma GCC optimize(2)
#include <bits/stdc++.h>
//#include <iostream>
//#include <algorithm>
//#include <cstdio>
//#include <cstring>
#define rush() int T;cin>>T;while(T--)
#define go(a) while(cin>>a)
#define ms(a,b) memset(a,b,sizeof a)
#define E 1e-8
#define sd(a) scanf("%d",&a)
#define sdd(a,b) scanf("%d%d",&a,&b)
#define pd(a) printf("%d\n",a)
#define debug(a) cout<<"*"<<a<<"*"<<endl
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define PAUSE system("pause")
using namespace std;
typedef long long ll;
typedef unsigned ui;
typedef unsigned long long ull;
typedef pair<int,int> Pair;
const int inf=0x7f7f7f7f;
const int mod=100003;
const int N=1e6+5;

    int n,m,t;
    int i,j,k;
    int a[N];
    int mp[N];//映射每個數出現的次數
    int num[N];

int32_t main()
{
    //IOS;
    sd(n);
    int maxx=-1;
    for(i=0;i<n;i++){
        sd(a[i]);
        mp[a[i]]++;
        maxx=max(maxx,a[i]);
    }
    for(i=1;i<=maxx;i++){
        if(!mp[i]) continue;
        for(j=i;j<=maxx;j+=i) 
            num[j]+=mp[i];
    }
    for(i=0;i<n;i++) pd( num[a[i]]-1 );    //減去自身作爲因數
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章