Cod sursa(job #2660673)

Utilizator dorufDoru Floare doruf 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;
}