Cod sursa(job #3222770)

Utilizator SSKMFSS KMF SSKMF Data 11 aprilie 2024 16:51:27
Problema Medie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
using namespace std;

ifstream cin ("medie.in");
ofstream cout ("medie.out");

int main ()
{
    int lungime;
    cin >> lungime;

    int aparitii[7001] = { };
    for (int indice = 1 , valoare ; indice <= lungime ; indice++)
        { cin >> valoare; aparitii[valoare]++; }

    int64_t triplete = 0;
    for (int stanga = 1 ; stanga <= 7000 ; stanga++)
        if (aparitii[stanga])
        {
            triplete += (int64_t)aparitii[stanga] * (aparitii[stanga] - 1) / 2 * (aparitii[stanga] - 2);
            for (int dreapta = stanga + 2 ; dreapta <= 7000 ; dreapta += 2)
                { triplete += (int64_t)aparitii[stanga] * aparitii[(stanga + dreapta) / 2] * aparitii[dreapta]; }
        }

    cout << triplete;
    cout.close(); cin.close();
    return 0;
}