Cod sursa(job #2005835)

Utilizator sergiudnyTritean Sergiu sergiudny Data 28 iulie 2017 12:35:34
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
#define DM 7005
#define DN 9001
using namespace std;
ifstream fin("medie.in");
ofstream fout("medie.out");

int exist[DM],n,ans,v[DN],maxVal;

int main()
{
    fin>>n;
    for(int i=1;i<=n;++i)
        fin>>v[i],exist[v[i]]++,maxVal=max(maxVal,v[i]);
    for(int i=1;i<=maxVal;++i){
        ans+=(exist[i]*(exist[i]-1)*(exist[i]-2))/2;
        if(!exist[i]) continue;
        for(int cont=1;cont<i && i+cont<=maxVal;++cont){
            ans+=exist[i]*exist[i+cont]*exist[i-cont];
        }
    }
    fout<<ans;
    return 0;
}