Cod sursa(job #59911)

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

int N, vmax;
int a[MaxN], f[MaxN], dp[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]]++;
    }    
        
    int 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;
                cnt = f[med];
                if (a[i] == med) cnt--;
                if (a[j] == med) cnt--;
                if (cnt > 0) count += cnt;
            }
    
    fprintf(fout, "%d", count);
    
    fclose(fin);
    fclose(fout);
    
    return 0;
}