Cod sursa(job #3246485)

Utilizator vladsoartavlad sofronea vladsoarta Data 3 octombrie 2024 12:55:12
Problema Pairs Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>

using namespace std;
ifstream cin("pairs.in");
ofstream cout("pairs.out");

int frecv[1000001],x,i,n,mx;
int ans[1000001];

int main()
{
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>x;
        frecv[x]++;
        mx=max(mx,x);
    }
    for(int cm=mx;cm>=1;cm--)
    {
        for(int j=cm;j<=mx;j+=cm)
            ans[cm]+=frecv[j];

        ans[cm] =   (ans[cm]*(ans[cm]-1)) >> 1;
        for(int j=2*cm;j<=mx;j+=cm)
            ans[cm] -= ans[j];
    }
    cout<<ans[1];
    return 0;
}