Cod sursa(job #2138165)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 21 februarie 2018 13:44:50
Problema Medie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>

using namespace std;

ifstream f("medie.in");
ofstream g("medie.out");
const int n = 7000;
long long  ret;
int m,x;
int fr[7005];
int main()
{
   for ( f >> m ; m ; m -- )
   {
       f >> 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]);*/
          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;
    g << ret;
    return 0;
}