Cod sursa(job #2501211)

Utilizator AlexutAlex Calinescu Alexut Data 29 noiembrie 2019 11:27:39
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;
long long ciur[1000005],f[1000005];
int main()
{
    ifstream cin ("pairs.in");
    ofstream cout ("pairs.out");
    long long n,i,j,maxx=-1;
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>j;
        if(j>maxx)
            maxx=j;
        f[j]++;
    }
    long long sum=0;
    for(i=2;i<=maxx/2;i++)
    {
        long long cnt=0;
        if(ciur[i]==0)
        {
            for(j=i;j<=maxx;j+=i)
            {
                if(f[j]==1)
                    cnt++;
                ciur[j]=1;
            }
        }
        sum+=(cnt*(cnt-1)/2);
    }
    long long sumtot=n*(n-1)/2;
    cout<<sumtot-sum;
    return 0;
}