Cod sursa(job #2095701)

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

#define MaxN 10005
#define MOD 1000000007
#define INF 2140000000

using namespace std;

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

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

    for(int i=1;i<=N;i++)
        fscanf(IN,"%d",&x),Max=max(Max,x),fr[x]++;

    for(int i=1;i<=Max;i++)
        if(fr[i]>=3)Ans+=1LL*fr[i]*(fr[i]-1)*(fr[i]-2)/2;

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

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

    return 0;
}