Cod sursa(job #211063)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 30 septembrie 2008 16:13:07
Problema Pairs Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
int n, v[1000005], rez, max;

int main()
{
   freopen("pairs.in","r",stdin);
   freopen("pairs.out","w",stdout);

   int i, j, k, x;
   scanf("%d",&n);
   for (i = 1; i <= n; i++)
   {
      scanf("%d", &x);
      v[x] = 1;
      if (x > max) max = x;
   }
   rez = (n * (n - 1)) / 2;

   for (i = 2; i <= max; i++)
   {
      if (!v[i] != -1)
      {
	 k = 1;
	 for (j = 2; j * i <= max; j++)
	 {
	    if (v[i * j] == 1)k++;
	    v[i * j] = -1;
	 }
	 k *= (k - 1);
	 k /= 2;
	 rez -= k;
      }
   }
   printf("%d\n",rez);
   return 0;
}