Cod sursa(job #926971)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 25 martie 2013 14:59:28
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>

using namespace std;

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

short n, a[9007], v[7007], fr[7007], medmax;
long long rez;


void Med(short a, short b){
    if((a+b) & 1 != 0) return ;
    int x = (a+b)>>1;
    v[x]++;
    if(x > medmax) medmax = x;
}

void Citire(){

    fin>>n;
    for(int i=1; i<=n; i++){
        fin>>a[i];
        fr[a[i]]++;
        for(int j=1; j<i; j++)
            Med(a[j], a[i]);
    }
}

int main()
{
    Citire();
    for(int i=1; i<=medmax; i++)
        rez += v[i]*fr[i];
    fout<<rez;
    return 0;
}