Cod sursa(job #3258534)
| Utilizator | Data | 23 noiembrie 2024 01:00:10 | |
|---|---|---|---|
| Problema | Pairs | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | cex_3 | Marime | 0.56 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("pairs.in");
ofstream fout ("pairs.out");
const int NMAX=1e6+5;
long long n, Max, v[NMAX], fr[NMAX];
int main()
{
fin >> n;
for (int i=1; i<=n; i++)
{
long long x;
fin >> x;
fr[x]++;
Max=max(Max,x);
}
for (int i=Max; i>=1; i--)
{
for (int j=1; j*i<=Max; j++)
v[i]+=fr[j*i];
v[i]=v[i]*(v[i]-1)/2;
for (int j=2; j*i<=Max; j++)
v[i]-=v[j*i];
}
fout << v[1];
return 0;
}
