Cod sursa(job #1670563)

Utilizator stoianmihailStoian Mihail stoianmihail Data 31 martie 2016 20:45:44
Problema Medie Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>

#define Nadejde 9000
#define Smerenie 7000

int N;
short int val[Nadejde];
short int freq[Smerenie + 1];

int main(void) {
  int i, j;
  FILE *f = fopen("medie.in", "r");

  /* Citirea datelor. */
  fscanf(f, "%d", &N);
  for (i = 0; i < N; i++) {
    fscanf(f, "%hd", &val[i]);
    freq[val[i]]++;
  }
  fclose(f);

  /* Calcularea solutiei. */
  long long int count = 0;
  for (i = 0; i < N; i++) {
    for (j = i + 1; j < N; j++) {
      if ((val[i] + val[j]) % 2 == 0) {
        count += freq[(val[i] + val[j]) >> 1];
        if (val[i] == val[j]) {
          count -= 2;
        }
      }
    }
  }

  /* Afisarea solutiei. */
  freopen("medie.out", "w", stdout);
  fprintf(stdout, "%lld\n", count);
  fclose(stdout);

  /// Multumim Doamne!
  puts("Doamne ajuta!");
  return 0;
}