Cod sursa(job #2095703)

Utilizator GabiTulbaGabi Tulba-Lecu GabiTulba Data 28 decembrie 2017 03:30:28
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>

#define MaxN 7005
#define MOD 1000000007
#define INF 2140000000

using namespace std;

FILE *IN=fopen("medie.in","r"),*OUT=fopen("medie.out","w");

int N,fr[MaxN],X,Max=0;
int Ans=0;
int main()
{
    fscanf(IN,"%d",&N);

    for(int i=1;i<=N;i++)
    {
        fscanf(IN,"%d",&X);
        ++fr[X];
        if(Max<X)
            Max=X;
    }
    for(int i=1;i<=Max;i++)
        if(fr[i]>=3)Ans+=(fr[i]*(fr[i]-1)*(fr[i]-2))>>1;

    for(int i=1;i<=Max;i++)
        for(int j=i+2;j<=Max;j+=2)
            Ans+=fr[i]*fr[j]*fr[(i+j)>>1];

    fprintf(OUT,"%d",Ans);

    return 0;
}