Cod sursa(job #73859)

Utilizator c_sebiSebastian Crisan c_sebi Data 21 iulie 2007 13:30:31
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <stdio.h>
#include <stdlib.h>


int v[7001], med[7001];



int main()
{
	int a[9001];
	char s[5];
	int rez=0;
	int aux, i, j;
	FILE *f, *g;
	f=fopen("medie.in", "r");
	g=fopen("medie.out", "w");
	int n;
	fscanf (f, "%d\n", &n);
	for (i=0; i<n; ++i)
		{fscanf(f, "%s\n", &s);
		a[i] = atoi(s);
		++v[a[i]];  }
	fclose(f);
#define div2(x) ( ! ((x) & 1) )
	for (i=0; i<n-1; ++i)
		for (j=i+1; j<n; ++j)
			if (div2( aux=a[i]+a[j] ) )
				++med[aux>>1];

	for (i=0; i < n; ++i)
		rez += med[a[i]] - v[a[i]] + 1;

	fprintf(g, "%d\n", rez);
	fclose(g);
	return 0;
}