Pagini recente » Cod sursa (job #1444171) | Cod sursa (job #1782837) | Cod sursa (job #309425) | Istoria paginii runda/22_februarie_simulare_oji_2024_clasa_9 | Cod sursa (job #2487049)
#include <cstdio>
using namespace std;
typedef long long ll;
const int N = 1000000 + 7;
int n, f[N], mx;
ll p[N];
int main()
{
freopen ("pairs.in", "r", stdin);
freopen ("pairs.out", "w", stdout);
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
int x;
scanf("%d", &x);
f[x]++;
if (x > mx)
{
mx = x;
}
}
for (int i = 1; i <= mx; i++)
{
for (int j = 2 * i; j <= mx; j += i)
{
f[i] += f[j];
}
}
for (int i = mx; i >= 1; i--)
{
if (f[i])
{
p[i] = f[i] * (ll) (f[i] + 1) / 2;
for (int j = 2 * i; j <= mx; j += i)
{
p[i] -= p[j];
}
}
}
printf("%lld\n", p[1]);
return 0;
}