Cod sursa(job #257923)

Utilizator petroMilut Petronela petro Data 14 februarie 2009 12:58:23
Problema Medie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>

FILE *f=fopen("medie.in","r");
FILE *g=fopen("medie.out","w");

#define M 7003

int n;
long v[M];

void citire()
{int i,x;

 fscanf(f,"%d",&n);

 for(i=1;i<=n;i++)
  {fscanf(f,"%d",&x);
   v[x]++;}

}

int main()
{int i,j,k;
 long long s=0;

 citire();

 for(i=1;i<=n;i++)
 {s+=v[i]*(v[i]-2)*(v[i]-1)/2;

  j=i-1;
  k=i+1;

  while(j>=1 && k<=n)
  {if(v[j] && v[k]) s=s+v[i]*v[j]*v[k];
   j--;
   k++;}

  }

fprintf(g,"%lld\n",s);

fclose(g);
fclose(f);
return 0;
}