Cod sursa(job #2725381)

Utilizator rARES_4Popa Rares rARES_4 Data 18 martie 2021 21:01:38
Problema Medie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("medie.in");
ofstream g ("medie.out");
int n,rez;
int fr[7001];
int main()
{
    f >> n;
    for(int i = 1; i<=n; i++)
    {
        int x;
        f >> x;
        fr[x]++;
    }
    for(int i = 1;i<=7000;i++)
    {
        if(fr[i]>2)
        {
            /// in primul rand incercam sa facem media cu aceleasi elemente
            /// de ex daca avem sirul 5 5 5 , acesta este si un triplet corect
            rez += fr[i] * ((fr[i]-1)*(fr[i]-2)/2);
        }
        for(int j = i + 1;j<=7000;j++)
        {
            if((i+j)%2 == 0 && fr[i]&&fr[j])
            {
                /// in al doilea rand verificam cu elemente diferite si cu media acestora
                rez+=fr[i] * fr[j] * fr[(i+j)/2];
            }
        }
    }
    g << rez;
}