Pagini recente » Cod sursa (job #2182116) | Cod sursa (job #2188619) | Cod sursa (job #2473477) | Cod sursa (job #1872327) | Cod sursa (job #2731133)
#include <bits/stdc++.h>
using namespace std;
//ifstream f("date.in");
//ofstream g("date.out");
ifstream f("pairs.in");
ofstream g("pairs.out");
//#define f cin
//#define g cout
const int dim = 1e5 + 2;
const int mod = 1e9 + 7;
#define pii pair <int, int>
int n, mx;
vector <int> v(dim, 0);
int a[10 * dim], w[10 * dim];
void read(){
f >> n;
for(int i = 0; i < n; ++i)
f >> v[i];
}
void solve(){
v.resize(n);
for(auto it: v){
++a[it];
++a[1];
for(int d = 2; d * d <= it; ++d){
if(it % d == 0){
++a[d];
if(d * d != it)
++a[it / d];
}
}
mx = max(mx, it);
}
for(int i = mx; i > 0; --i){
w[i] = a[i] * (a[i] - 1) / 2;
for(int j = 2; i * j <= mx; ++j)
w[i] -= w[i * j];
}
g << w[1];
}
int main(){
read();
solve();
return 0;
}