Mai intai trebuie sa te autentifici.
Cod sursa(job #2138891)
Utilizator | Data | 21 februarie 2018 22:44:43 | |
---|---|---|---|
Problema | Pairs | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream cin("pairs.in");
ofstream cout("pairs.out");
const int nmax=1000000;
long long n,ans,key,nr;
bool ap[nmax+5],viz[nmax+5];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>key;
ap[key]=1;
}
for(int divizor=2;divizor<=nmax;divizor++)
if(viz[divizor]==0)
{
nr=0;
for(int j=divizor;j<=nmax;j+=divizor)
{
viz[j]=1;
nr+=ap[j];
}
ans+=1ll*nr*(nr-1)/2;
}
ans=1ll*n*(n-1)/2-ans;
cout<<ans;
return 0;
}
/**
**/