Cod sursa(job #79568)

Utilizator dominoMircea Pasoi domino Data 23 august 2007 07:22:51
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

#define MAX_N 9005
#define MAX_VAL 7005
#define FIN "medie.in"
#define FOUT "medie.out"

int N, A[MAX_N], cnt[MAX_VAL];
long long Res;

int main(void)
{
    int i, j, t;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d", &N);
    for (i = 0; i < N; ++i)
    {
        scanf("%d", A+i);
        ++cnt[A[i]];
    }

    for (i = 0; i < N; ++i)
        for (j = i+1; j < N; ++j)
        {
            if ((A[i]+A[j])&1) continue;
            t = (A[i]+A[j]) >> 1;
            Res += cnt[t];
            if (A[i] == t) --Res;
            if (A[i] == t) --Res;
        }

    printf("%lld\n", Res);

    return 0;
}