Cod sursa(job #59869)

Utilizator DastasIonescu Vlad Dastas Data 10 mai 2007 21:18:48
Problema Medie Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>
#define maxn 9000
#define maxval 7000

FILE *in = fopen("medie.in","r"), *out = fopen("medie.out","w");

int n;
int a[maxn], f[maxval] = {0};

void read()
{
    fscanf(in, "%d", &n);

    for ( int i = 0; i < n; ++i )
        fscanf(in, "%d", &a[i]);
}

int main()
{
    read();

    int sol = 0;
    int v[maxval];

    for ( int i = 0; i < n-1; ++i )
    {
        ++f[a[i]];
        for ( int j = i+1; j < n; ++j )
            if ( ((a[i] + a[j]) & 1) == 0 )
                ++v[(a[i]+a[j])>>1];
    }

    ++f[a[n-1]];

    for ( int i = 0; i < n; ++i )
        if ( v[a[i]] )
            sol += v[a[i]] - f[a[i]] + 1;

    fprintf(out, "%d\n", sol);

    return 0;
}