Cod sursa(job #2166674)

Utilizator hrazvanHarsan Razvan hrazvan Data 13 martie 2018 18:18:45
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>
#define MAXN 9000
#define MAXV 7000
int fr[MAXV + 1];

int main(){
  FILE *in = fopen("medie.in", "r");
  int n, i, j, k, a, b, x;
  fscanf(in, "%d", &n);
  for(i = 0; i < n; i++){
    fscanf(in, "%d", &x);
    fr[x]++;
  }
  fclose(in);
  long long rez = 0;
  for(i = 0; i < MAXV; i++){
    j = 0;  k = MAXV;
    if(j + k < 2 * i)
      j = 2 * i - k;
    else
      k = 2 * i - j;
    while(j < k){
      rez += 1LL * fr[j] * fr[k] * fr[i];
      j++;
      k--;
    }
  }
  for(i = 0; i <= MAXV; i++)
    rez += 1LL * fr[i] * (fr[i] - 1) * (fr[i] - 2) / 6;
  FILE *out = fopen("medie.out", "w");
  fprintf(out, "%d", rez);
  fclose(out);
  return 0;
}