Cod sursa(job #1133762)

Utilizator TudorMTudor Moldovanu TudorM Data 5 martie 2014 16:20:48
Problema Medie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 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;
    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)
            {
                nr+=(fr[p]-1)*2;
            }
            p--;
            u++;
        }
    }
    g<<nr;
}
int main()
{
    citire();
    f.close();
    g.close();
    return 0;
}