Pagini recente » Cod sursa (job #2281181) | Cod sursa (job #2314496) | Cod sursa (job #859550) | Cod sursa (job #2153632) | Cod sursa (job #3219177)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
const int Max = 1000000;
int x[Max + 2], mul[Max + 2];
long long n, a, i, j, r;
bool fr[Max + 2];
int main() {
fin >> n;
for(i = 1; i <= n; i++) {
fin >> a;
fr[a] = true;
}
for(i = 1; i <= Max; i++) {
for(j = i; j <= Max; j += i) mul[i] += fr[j];
}
for(i = 2; i <= Max; i++) {
x[i]++;
r += 1LL * x[i] * mul[i] * (mul[i] - 1) / 2;
for(j = 2 * i; j <= Max; j += i) x[j] -= x[i];
}
fout << n * (n - 1) / 2 - r;
return 0;
}