Cod sursa(job #129599)

Utilizator savimSerban Andrei Stan savim Data 29 ianuarie 2008 19:28:10
Problema Medie Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>  
int i,j,n,nrtot,x,max;
int a[9010],nr[7010],fol[14010];  
int main()  
{  
  freopen("medie.in","r",stdin);  
  freopen("medie.out","w",stdout);  
      
  scanf("%d",&n);  
  for (i=1; i<=n; i++)  
  {  
     scanf("%d",&a[i]);  
     if (a[i]>max) max=a[i];  
          nr[a[i]]++;  
   }  
	for (i=1; i<=n; i++)
		for (j=1; j<=n; j++)
		if (a[i]>a[j])
		{
			x=a[i];
			a[i]=a[j];
			a[j]=x;
		}
   for (i=1; i<=n-1; i++)
       for (j=i+1; j<=n; j++) 
//	   if ((a[i]+a[j])%2==0)
//		  fol[(a[i]+a[j])/2]++;
		  if ((a[i]<<1)>a[j] && nr[(a[i]<<1)-a[j]]!=0) fol[a[i]]++;

   nrtot=0;
   for (i=1; i<=max; i++)  
     if (fol[i]!=0 && nr[i]!=0) nrtot+=nr[i]*fol[i]-nr[i]*(nr[i]-1);         
               
       
   printf("%d\n",nrtot);  
         
         
   return 0;      
}