Cod sursa(job #3003747)

Utilizator e_ggIonescu Dorian e_gg Data 15 martie 2023 21:44:59
Problema Medie Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 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 && fr[i] > 2 )
                sol[i] += fr[i] * ( fr[i] - 1 ) * ( fr[i] - 2 );
            else
                sol[i] += fr[i - j] * fr[i + j] * fr[i];
        }
    }
    for ( int i = 1; i <= 7000; i++ )
        s += sol[i];
    g << s / 2 << '\n';
    f.close();
    g.close();
    return 0;
}