Cod sursa(job #720467)

Utilizator romircea2010FMI Trifan Mircea Mihai romircea2010 Data 22 martie 2012 18:02:39
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

int n, a[9005], b[7005], c[7005], sol, maxim;

inline void Read()
{
	ifstream f("medie.in");
	f>>n;
	for (int i = 1, x; i<=n; i++)
	{
		f>>x;
		a[i] = x;
		c[x]++;
		if (x>maxim)
			maxim = x;
	}
	f.close();
}

inline void Solve()
{
	int i, j, media;
	for (i=1; i<=n; i++)
		for (j=i+1; j<=n; j++)
		{
			if (((a[i]+a[j])&1) == 0)
			{
				media = ((a[i] + a[j])>>1);
				if (a[i] != a[j])
				{
					b[media] += c[media];
				}
				else
				{
					b[media] += (c[media] - 2);
				}
			}
		}
	for (i=1; i<=maxim; i++)
		sol+=b[i];
}

inline void Write()
{
	ofstream g("medie.out");
	g<<sol<<"\n";
	g.close();
}

int main()
{
	Read();
	Solve();
	Write();
	return 0;
}