Cod sursa(job #129773)

Utilizator savimSerban Andrei Stan savim Data 30 ianuarie 2008 09:28:05
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>  
int i,j,n,nrtot;
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]);  
       nr[a[i]]++;  
   }
   for (i=1; i<=n-1; i++)
	for (j=i+1; j<=n; j++)
		if (a[i]>a[j])
		{
			int 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])>>1]++;
   nrtot=0;
   for (i=1; i<=14000; i++)  
	   if (fol[i]!=0 && nr[i]!=0) nrtot+=nr[i]*fol[i]-nr[i]*(nr[i]-1);

   printf("%d\n",nrtot);  
       
       
   return 0;      
}