Cod sursa(job #2679667)

Utilizator gasparrobert95Gaspar Robert Andrei gasparrobert95 Data 1 decembrie 2020 10:39:35
Problema Medie Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("medie.in");
ofstream fout("medie.out");
ll n, rez, maxim, v[9005], ap[7005];

int main() {
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        maxim = max(maxim, v[i]);
        ++ap[v[i]];
    }
    for (ll i = 1; i <= maxim; ++i) {
        rez += (ap[i] - 1) * (ap[i] - 2) / 2 * ap[i];
        for (ll j = i + 1; j <= maxim; ++j) {
            if (ap[i] == 0 || ap[j] == 0 || (i + j) % 2 != 0)
                continue;
            ll med = ap[(i + j) / 2];
            if (med >= 1)
                rez += med;
        }
    }
    fout << rez;
    return 0;
}