Cod sursa(job #2679633)

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

ll fact(ll nr) {
    ll val = 1;
    for (ll i = 2; i <= nr; ++i)
        val *= i;
    return val;
}

int main() {
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
        minim = min(minim, v[i]);
        ++fv[v[i]];
    }
    for (int i = 1; i <= n; ++i) {
        if (fv[v[i]] > 2)
            rez += fact(fv[v[i]] - 2);
        for (ll st = v[i] - 1, dr = v[i] + 1; st >= 1; --st, ++dr)
            rez += fv[st] * fv[dr];
    }
    fout << rez;
    return 0;
}