Cod sursa(job #296362)

Utilizator ucc_5Usurelu Catalin ucc_5 Data 4 aprilie 2009 18:09:57
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream.h>

ifstream f("medie.in");
ofstream g("medie.out");

int a[9002],n;
long NrSol;

void citire ()
{ f>>n; 
  for (int i=1; i<=n; i++)
   f>>a[i];
  f.close ();
}

void search ()
{  int i,j,aux,v[7002]={0},rep[7002]={0};
   #define div2(x) (!((x)&1)) //verifica daca x e divizibil cu 2
   for (i=1; i<n; i++)
    { rep[a[i]]++;
      for (j=i+1; j<=n; j++)
       if (div2(aux=a[i]+a[j]))
        v[aux>>1]++;
    }
    rep[a[n]]++;
    for (i=1; i<=n; i++) 
     if (v[a[i]]) NrSol+=(v[a[i]]-rep[a[i]]+1);
}

void scrie ()
{ g<<NrSol;
  g.close ();
}

int main ()
{ citire ();
  search ();
  scrie ();
  return 0;
}