Cod sursa(job #631658)

Utilizator GrimpowRadu Andrei Grimpow Data 9 noiembrie 2011 13:49:33
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#include <cstring>

#define MAXN 9005
#define MAXV 7005

inline int max(const int &a, const int &b){
  return ((a>b)?a:b);
}

int main(){

  freopen("medie.in", "r", stdin);
  freopen("medie.out", "w", stdout);

  int N, i, j, cnt, maxv;
  int S[MAXN], F[MAXV];

  memset(F, 0, sizeof(F));
  maxv=0;

  scanf("%d", &N);
  for(i=1; i<=N; i++){
    scanf("%d", S+i);
    F[S[i]]++;
    maxv=max(maxv, S[i]);
  }

  cnt=0;
  for(i=1; i<=maxv; i++)
  {
    cnt+=(F[i]*(F[i]-1)*(F[i]-2))>>1;
    for(j=i+2; j<=maxv; j+=2)
      cnt+=F[i]*F[j]*F[(i+j)>>1];
  }

  printf("%d\n", cnt);

  return 0;

}