Cod sursa(job #2138882)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 21 februarie 2018 22:35:43
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream cin("pairs.in");
ofstream cout("pairs.out");
const int nmax=1000000;
int n;
bool ap[nmax+5],viz[nmax+5];
long long ans,nr;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int key;
        cin>>key;
        ap[key]++;
    }
    for(int i=2;i<=nmax;i+=2)
    {
        nr+=ap[i];
        viz[i]=1;
    }
    ans=n*(n-1)/2;
    ans-=nr*(nr-1)/2;
    for(int i=3;i<=nmax;i+=2)
    {
        if(viz[i]==0)
        {
            nr=0;
            for(int j=i;j<=nmax;j+=i)
                nr+=ap[j];
            ans-=nr*(nr-1)/2;
        }
    }
    cout<<ans;
    return 0;
}
/**




**/