Cod sursa(job #3004774)

Utilizator e_ggIonescu Dorian e_gg Data 16 martie 2023 16:31:21
Problema Medie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("medie.in");
ofstream g("medie.out");

long long v[10000], fr[7004], sol[7004];
long long s;
int n;

int main()
{
    f >> n;
    for ( int i = 1; i <= n; i++ ) {
        f >> v[i];
        fr[v[i]]++;
    }
    for ( int i = 1; i <= 7000; i++ ) {
        for ( int j = 0; i + j <= 7000 && i - j >= 1; j++ ) {
            if ( j == 0 )
                sol[i] += fr[i] * ( fr[i] - 1 ) * ( fr[i] - 2 ) / 2;
            else
                sol[i] += fr[i - j] * fr[i + j] * fr[i];
        }
    }
    for ( int i = 1; i <= 7000; i++ )
        s += sol[i];
    g << s << '\n';
    f.close();
    g.close();
    return 0;
}