Cod sursa(job #470103)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 11 iulie 2010 13:48:19
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <cmath>

using namespace std;

#define file_in "medie.in"
#define file_out "medie.out"

#define nmax (1<<14)

int n,ans;
int v[nmax];
int frecv[nmax];
int frecv2[nmax];

void citire()
{
    freopen(file_in,"r",stdin);
    freopen(file_out,"w",stdout);

    scanf("%d", &n);
    for (int i=1;i<=n;++i)
        scanf("%d", &v[i]);
}

void solve()
{
    int i,j,x;

    for (i=1;i<n;++i)
    {
        frecv[v[i]]++;
        for (j=i+1;j<=n;++j)
        {
            x=(v[i]+v[j]);
            if (!(x&1))
            frecv2[x>>1]++;
        }
    }
    frecv[v[n]]++;
    for (i=1;i<=n;++i)
         if (frecv2[v[i]])
         ans+=frecv2[v[i]]-frecv[v[i]]+1;
    printf("%d", ans);
}

int main()
{
    citire();
    solve();

    fclose(stdin);
    fclose(stdout);

    return 0;
}