Cod sursa(job #1750688)

Utilizator andreistanStan Andrei andreistan Data 30 august 2016 19:26:11
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("pairs.in");
ofstream g("pairs.out");
long long i,sol;
int N,x,maxx,j;
int v[100000],divp[100000];
int main()
{
    f>>N;
    while(N--)
    {
        f>>x;
        v[x]=1;
        maxx=max(maxx,x);
    }
    for(i=2; i<=maxx; i++)
        if(!divp[i])
            for(j=i; j<=maxx; j+=i)
            {
                divp[j]++;
            }
    for(i=1; i<=maxx; i++)
    {
        x=0;
        for(j=i; j<=maxx; j+=i)
            if(v[j])
                x++;
        if(divp[i]&1)
            sol=sol-1LL*x*(x-1);
        else
            sol=sol+1LL*x*(x-1);
    }
    g<<sol/2;
}