Cod sursa(job #2236685)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 30 august 2018 11:59:19
Problema Medie Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;

ifstream fin ("medie.in");
ofstream fout ("medie.out");
long long n,i,x,k,j,sol,f[7001],w[9001];
int main (){

    fin>>n;
    for (i=1;i<=n;i++){
        fin>>x;
        f[x]++;
        w[++k] = x;
    }
    k = 0;
    for (i=1;i<=n;i++){
        if (w[i] != w[i-1])
            w[++k] = w[i];
    }

    for (i=1;i<=k;i++){
        if (f[w[i]] >= 3)
            sol += f[w[i]]*1LL*(f[w[i]]-1)/2*(f[w[i]]-2);
    }

    for (i=1;i<k;i++)
        for (j=i+1;j<=k;j++){
            if ((w[i]+w[j])%2 == 0 && f[(w[i]+w[j])/2] != 0)
                sol += f[w[i]] * f[w[j]] * f[(w[i]+w[j])/2];
        }

    fout<<sol;

    return 0;
}