Cod sursa(job #285191)

Utilizator cristiprgPrigoana Cristian cristiprg Data 22 martie 2009 13:52:51
Problema Medie Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>

int v[9005], x[7005], n;

int au_aceeasi_paritate(int i, int j)
{
	if (i % 2 == 0 && j % 2 == 0)
		return 1;

	if (i % 2 == 1 && j % 2 ==1)
		return 1;

	return 0;
}

int nr_de_aparitii(int val, int a, int b)
{
	int nr = 0;
	for (int i = 1; i <= n; i++)
		if (v[i] == val)
			if (i != a && i != b)
				nr++;

	return nr;
}


int main()
{
	FILE *f = fopen("medie.in", "r");
	fscanf(f, "%d", &n);
	int i, j;
	for (i = 1; i <= n; i++)
		fscanf(f, "%d", &v[i]);

	int nr, max = -1;
	for (i = 1; i < n; i++)
		for (j = i + 1; j <= n; j++)
			if (au_aceeasi_paritate(v[i], v[j]))
			{
				nr = (v[i] + v[j]) / 2;
				x[ nr ] += nr_de_aparitii(nr, i, j);
				if (nr > max)
					max = nr;
			}
	fclose(f);
	int s = 0;
	for (i = 1; i <= max; i++)
		s += x[i];

	f = fopen ("medie.out", "w");
	fprintf(f, "%d\n", s);

	fclose(f);
	return 0;
}