Cod sursa(job #322131)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 8 iunie 2009 01:14:20
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
#include <algorithm>
#define N 9500
#define P 7010
using namespace std;
int n,v[N],maxim,r;
int ap[P];
long long rez;
void citire()
{
	scanf("%d\n",&n);
	int nr=0;
	char x;
	while (scanf("%c",&x)!= EOF)
	{
		if (x=='\n')
		{
			v[++r]=nr;
			ap[nr]++;
			nr=0;
		}
		else
			nr=nr*10+x-'0';
	}
	sort(v+1,v+n+1);
}
void rezolvare()
{
	int i,j,t;
	for (i=1; i<n; i++)
		for (j=i+1; j<=n && 2*v[j]-v[i]<=v[n]; j++)
		{
			t=2*v[j]-v[i];
			if (v[i]!=v[j])
				rez+=ap[t];
			else
				rez+=ap[t]-2;
		}
	printf("%lld\n",rez);
}
int main()
{
	freopen("medie.in","r",stdin);
	freopen("medie.out","w",stdout);
	citire();
	rezolvare();
	return 0;
}