Cod sursa(job #2523434)

Utilizator vladisimovlad coneschi vladisimo Data 14 ianuarie 2020 08:47:05
Problema Medie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

const int MAX_VAL = 7001;

int freq[2 + MAX_VAL];

int main() {
  std::ifstream fin("medie.in");
  std::ofstream fout("medie.out");
  int n;
  fin >> n;
  for (int i = 1; i <= n; i++) {
    int x;
    fin >> x;
    freq[x]++;
  }
  int count = 0;
  for (int i = 1; i <= MAX_VAL; i++) {
    int f = freq[i];
    count += f * (f - 1) * (f - 2) / 2;
    int j = i - 1, k = i + 1;
    while (j >= 1 && k <= MAX_VAL) {
      if (freq[j] > 0 && freq[k] > 0)
        count += freq[j] * freq[k] * freq[i];
      j--;
      k++;
    }
  }
  fout << count;
  return 0;
}