Cod sursa(job #433085)

Utilizator AndrewTheGreatAndrei Alexandrescu AndrewTheGreat Data 3 aprilie 2010 12:42:10
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>

using namespace std;

struct vul
{
    int daca;
    int cat;
} numar[7010];

int v[9050],maxi;

int main()
{
    freopen ("medie.in","r",stdin);
    freopen ("medie.out","w",stdout);

    int n,x;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        numar[v[i]].daca=1;
        numar[v[i]].cat++;
    }

    for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
        {
            x=v[i]+v[j];
            if(!(x&1))
            {
                x=x>>1;
                if(numar[x].daca)
                    maxi+=numar[x].cat;
                if(x==v[i])maxi--;
                if(x==v[j])maxi--;
            }
        }
    printf("%d\n",maxi);
    return 0;
}