Cod sursa(job #2163478)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 12 martie 2018 18:27:36
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 7000;

int fr[MAXN + 1];

int main() {
    FILE *fi, *fout;
    int i, j, n, x;
    fi = fopen("medie.in" ,"r");
    fout = fopen("medie.out" ,"w");
    fscanf(fi,"%d " ,&n);
    int mx = 0;
    for(i = 1; i <= n; i++) {
        fscanf(fi,"%d " ,&x);
        fr[x]++;
        mx = max(mx, x);
    }
    long long ans = 0;
    for(i = 0; i <= mx; i++) {
        if(fr[i] > 2)
            ans += fr[i] * (fr[i] - 1) * (fr[i] - 2) / 2;
    }
    for(i = 0; i <= mx; i++) {
        for(j = i + 2; j <= mx; j += 2) {
            ans += 1LL * fr[i] * fr[j] * fr[(i + j) / 2];
        }
    }
    fprintf(fout,"%lld" ,ans);
    fclose(fi);
    fclose(fout);
    return 0;
}