Cod sursa(job #2138173)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 21 februarie 2018 13:49:43
Problema Medie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <cstdio>
using namespace std;

ifstream f("medie.in");
ofstream g("medie.out");
const int n = 7000;

int fr[n+1],x;
long long ret;

int main()
{
      freopen("medie.in", "r", stdin);
    freopen("medie.out", "w", stdout);

    int m, tmp;
    for (scanf("%d", &m); m; --m)
        scanf("%d", &x), fr[x]++;
       int i, j;

    for (i = 1; i <= n; ++i)
        for (j = max(1, 2*i-n); j <= min(n, 2*i-1); ++j)
            if (i == j)
            {
                if (fr[i] >= 3)
                    ret += (long long)(fr[i] * (fr[i]-1) * (fr[i]-2));
            }
            else
                ret += (long long)(fr[i] * fr[j] * fr[2*i-j]);
    ret /= 2;
     printf("%lld\n", ret);
        return 0;
}