Pagini recente » Cod sursa (job #2917068) | Cod sursa (job #2464466) | Profil andrici_cezar | Cod sursa (job #573192) | Cod sursa (job #3290784)
#include <fstream>
#include<unordered_map>
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
unordered_map<int,int>frecv;
const int Nmax=1e6+5;
int dp[Nmax+5];
int main()
{
int n,x;
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>x;
frecv[x]++;
}
for(int i=Nmax;i>=1;i--)
{
for(int j=i;j<=Nmax;j=j+i)
{
dp[i]+=frecv[j];
}
dp[i]=dp[i]*(dp[i]-1)/2;
for(int j=2*i;j<=Nmax;j=j+i)
{
dp[i]-=dp[j];
}
}fout<<dp[1];
return 0;
}