Pagini recente » Cod sursa (job #891168) | Cod sursa (job #1590051) | Cod sursa (job #134247) | Cod sursa (job #2703635) | Cod sursa (job #3290787)
#include <fstream>
#include<unordered_map>
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
#define int long long
const int Nmax=1e6+5;
int frecv[Nmax+5];
int dp[Nmax+5];
int32_t 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;
}