Cod sursa(job #129928)

Utilizator razvi9Jurca Razvan razvi9 Data 30 ianuarie 2008 17:12:57
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
int a[7001],b[7001],n,c[9001],i,j,nr,v[9001];
void calc_comb()
{c[2]=1;
 for(i=3;i<=n;i++)
	 c[i]=c[i-1]*i/(i-2);}
int main()
{freopen("medie.in","r",stdin);
 freopen("medie.out","w",stdout);
 scanf("%d",&n);
 calc_comb();
 for(i=1;i<=n;i++) {scanf("%d",&v[i]);b[v[i]]++;}
 for(i=1;i<n;i++)
	 for(j=i+1;j<=n;j++)
		 if((v[i]+v[j])%2==0 && v[i]!=v[j]) a[(v[i]+v[j])/2]++;
 for(i=1;i<=7000;i++){
	 nr+=a[i]*b[i];
	 if(b[i]>=3) nr+=c[b[i]-1]*b[i];}
 printf("%d\n",nr);
 fclose(stdout);
 return 0;}