Cod sursa(job #476595)

Utilizator dacyanMujdar Dacian dacyan Data 11 august 2010 18:22:59
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <vector>
using namespace std;

ifstream fin("medie.in");
ofstream fout("medie.out");

long  f[10000];
long mx, aux, i, j, n, medie;
unsigned long total;

int main()
{ 
   fin >> n;
   for ( i = 0; i < n; ++i)
   {
       fin >> aux;
       f[aux]++;
       if (aux > mx) mx = aux;
   }
   fin.close();
   
   for ( i = 1; i <= mx; ++i)
      if (f[i])
            for (j = i + 1; j <= mx; ++j)
            {
                if ( f[j] && (i+j) % 2 == 0)
                {
                    medie = (i+j)/2;
                    if ( f[medie])
                                        total += f[i] * f[j] * f[medie];
                
                }
            }
   for ( i = 1; i <= mx; ++i)
      if ( f[i] >= 3) total += f[i] * (f[i]-1) * (f[i]-2)/2; //combinari de n luate cate 2
    fout << total << '\n';
    fout.close();
    return 0;
}