Cod sursa(job #1412856)

Utilizator BugirosRobert Bugiros Data 1 aprilie 2015 16:47:36
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;

const int MAXNR = 7004;
const int MAXN = 9004;

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

int v[MAXN];
int vfm[MAXNR];//de cate ori apare i ca medie aritmetica dintre doua numere din sir
int vf[MAXNR];//de cate ori
int n;

void citire()
{
    in >> n;
    for (int i = 1;i <= n;++i)
    {
        in >> v[i];
        ++vf[v[i]];
    }
}

void prelucrare()
{
    for (int i = 1;i < n;++i)
        for (int j = i + 1;j <= n;++j)
            if (((v[i] + v[j]) & 1) == 0)
                ++vfm[(v[i] + v[j]) / 2];
}

void afisare()
{
    long long rasp = 0;
    for (int i = 1;i <= n;++i)
        if (vfm[v[i]] != 0)
            rasp += vfm[v[i]] - vf[v[i]] + 1;
    out << rasp << '\n';
}

int main()
{
    citire();
    prelucrare();
    afisare();
    return 0;
}