Cod sursa(job #200152)

Utilizator jeanFMI - Petcu Ion Cristian jean Data 22 iulie 2008 14:46:42
Problema Medie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream.h>

int v[20000],i,j,n,max=0;

long long sol=0,x;

int main()

{

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

f>>n;

for(i=1;i<=n;i++)

 {f>>x;

  v[x]++;

 if(x>max) max=x;
 }

i=1;

 while(!v[i]) i++;

if(v[i]>2) { x=v[i]*(v[i]-1)*(v[i]-2)/2;

	    sol=sol+x;
	   }

while(i<max)

 { while(!v[i]) i++;


  if(v[i]>2) { x=v[i]*(v[i]-1)*(v[i]-2)/2;

	    sol=sol+x;
	   }
  if(i==max) break;

  j=i+1;

 while(j<max)

  { while(!v[j]) j++;

    if(j==max) break;


    if(v[j*2-i]) sol=sol+v[i]*v[j]*v[j*2-i];

    j++;
  }

  i++;
 }
g<<sol;

f.close();
g.close();
return 0;
}