Cod sursa(job #59921)

Utilizator varuvasiTofan Vasile varuvasi Data 11 mai 2007 08:50:04
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#define MaxN 9066

int N, vmax;
int a[MaxN], f[MaxN];

int main()
{
    int i, j;
    
    FILE *fin = fopen("medie.in", "rt");
    FILE *fout = fopen("medie.out", "wt");
    
    fscanf(fin, "%d", &N);
    for (i = 1; i <= N; i++)
    {
        fscanf(fin, "%d", &a[i]);
        f[a[i]]++;
    }    
        
    long long count = 0, med, cnt;
    for (i = 1; i <= N; i++)
        for (j = i + 1; j <= N; j++)
            if (((a[i] + a[j]) & 1) == 0)
            {
                med = (a[i] + a[j]) / 2;
                if (f[med] == 0) continue;
                cnt = f[med];
                if (a[i] == med) cnt--;
                if (a[j] == med) cnt--;
                if (cnt > 0) count += cnt;
            }
    
    fprintf(fout, "%lld", count);
    
    fclose(fin);
    fclose(fout);
    
    return 0;
}