Cod sursa(job #2660673)
| Utilizator | Data | 20 octombrie 2020 08:23:50 | |
|---|---|---|---|
| Problema | Medie | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("medie.in");
ofstream fout("medie.out");
const int Dim = 10 + 7000;
int f[Dim], n, a;
long long ans;
int main()
{
fin >> n;
for (int i = 1; i <= n; ++i)
fin >> a, ++f[a];
for (int i = 1; i < Dim; ++i)
for (int j = i; j < Dim; ++j)
{
if (i == j && f[i] >= 3)
ans += 1LL * f[i] * (f[i] - 1) / 2LL * (f[i] - 2);
else if (i != j && f[i] && f[j] && (i + j) % 2 == 0 && f[(i + j) / 2])
ans += 1LL * f[i] * f[j] * f[(i + j) / 2];
}
fout << ans;
}
