Cod sursa(job #2138156)

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

using namespace std;

ifstream f("medie.in");
ofstream g("medie.out");
const int n = 7000;
long long  ret,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 += 1LL*fr[i] * (fr[i]-1) * (fr[i]-2) ;
            }
            else
                ret += 1LL* fr[i] * fr[j] * fr[2*i-j];
    ret /= 2;
    g << ret;
    return 0;
}