Cod sursa(job #2679673)
Utilizator | Data | 1 decembrie 2020 10:50:51 | |
---|---|---|---|
Problema | Medie | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 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)
rez += ap[(i + j) / 2] * ap[i] * ap[j];
}
fout << rez;
return 0;
}