Cod sursa(job #579644)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 12 aprilie 2011 12:38:23
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;
int medii[7010],v[9010],i,j,n,sol,x,vmax,fr[9010];
int main()
{
    ifstream fi("medie.in");
    ofstream fo("medie.out");
    fi>>n;
    for(i=1;i<=n;i++)
    {
        fi>>x;
        v[x]++;
        if(vmax<x) vmax=x;
    }
    for(i=1;i<=vmax;i++)
    if(v[i])
    {
        medii[i]+=(v[i]-1)*v[i]/2;
        fr[i]+=v[i]-1;
        for(j=i+1;j<=vmax;j++)
        if(v[j] and((i+j)%2==0))
        {
            medii[(i+j)/2]+=v[i]*v[j];
            if((i+j)/2==i) fr[i]+=v[j];
            if((i+j)/2==j) fr[j]+=v[i];
        }
    }
    for(i=1;i<=vmax;i++)
    if(v[i])
    sol+=v[i]*(medii[i]-fr[i]);
    fo<<sol<<"\n";
    return 0;
}