Cod sursa(job #3221716)

Utilizator Simon2712Simon Slanina Simon2712 Data 7 aprilie 2024 20:50:57
Problema Pairs Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;
#define ll long long
ifstream fin("pairs.in");
ofstream fout("pairs.out");
const int N=1e5+1,VALMAX=1e6+1;
int ciur[VALMAX];
bool vc[VALMAX];
int main()
{
    int n,i,j,x,cnt;
    ll rez=0;
    fin>>n;
    for(i=2;i<=VALMAX;i++)
    {
        if(ciur[i]==0){
            for(j=i;j<=VALMAX;j+=i)
                ciur[j]++;
        }
    }
    for(i=1;i<=n;i++)
    {
        fin>>x;
        vc[x]=1;
    }
    for(i=2;i<=VALMAX;i++)
    {
        cnt=0;
        for(j=i;j<=VALMAX;j+=i)
        {
            if(vc[j])
                cnt++;
        }
        if(ciur[i]%2==0)
            rez-=1LL*cnt*(cnt-1)/2;
        else
            rez+=1LL*cnt*(cnt-1)/2;
    }
    fout<<n*(n-1)/2-rez;
    return 0;
}