Cod sursa(job #1011936)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 17 octombrie 2013 19:31:21
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#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;
}