Pagini recente » Cod sursa (job #28588) | Cod sursa (job #2070833) | Cod sursa (job #1161285) | Cod sursa (job #2330635) | Cod sursa (job #3219176)
#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];
int 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 += 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;
}