Pagini recente » Cod sursa (job #487808) | Cod sursa (job #1636666) | Cod sursa (job #2655982) | Cod sursa (job #581746) | Cod sursa (job #1011936)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("pairs.in");
ofstream g("pairs.out");
int n,v[100005],nr[100005],pos[1000005],vmax=0;
void Ciur()
{ int i,j,nums;
for(i=2;i<=vmax;i++)
{ nums=0;
if (pos[i]) nums++;
for(j=i+i;j<=vmax;j+=i)
if (pos[j])
{nr[pos[j]]-=nums; nums++;}
}
}
int main()
{ int i;
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
vmax=max(vmax,v[i]);
}
//cout<<vmax;
sort(v+1,v+n+1);
for(i=1;i<=n;i++)
{
pos[v[i]]=i;
nr[i]=i-1;
}
Ciur();
long long sol=0;
for(i=1;i<=n;i++)
sol+=nr[i];
g<<sol;
return 0;
}