Cod sursa(job #1133776)

Utilizator TudorMTudor Moldovanu TudorM Data 5 martie 2014 16:47:07
Problema Medie Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<fstream>
using namespace std;
ifstream f("medie.in");
ofstream g("medie.out");
int n, nr, v[9001], maxi, mini=100000,fr[10000];
void citire()
{
    int i,j,k,mij,p,u, nr1;
    float m;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>v[i];
        fr[v[i]]++;
        if(v[i]>maxi)maxi=v[i];
        if(v[i]<mini)mini=v[i];
    }
    for(i=1;i<=n;i++)
    {
        p=v[i];
        u=v[i];
        while(p>=mini&&u<=maxi)
        {

            if(fr[p]&&fr[u]&&p!=u)
            {
                nr+=fr[p]*fr[u];
            }
            else if(u==p&&fr[p]>2)
            {
                nr1=0;
                for(j=1;j<=n;j++)
                {
                    for(k=1;k<=n;k++)
                    {
                        if(k!=j&&k!=i&&j!=i)
                        {
                            m=(v[k]+v[j])/2.;
                            if(m==v[i])nr1++;
                        }
                    }
                }
                nr+=nr1/2;
            }
            p--;
            u++;
        }
    }
    g<<nr;
}
int main()
{
    citire();
    f.close();
    g.close();
    return 0;
}