Cod sursa(job #68358)

Utilizator yoyolichIoana Ardeleanu yoyolich Data 27 iunie 2007 17:07:03
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <cstdio>
#include <string>
//#include <cstdlib>
#define maxn 9001


int main()
{
	short int  v[maxn], h[7001], i,j;
	int n;
	char ax[7*maxn];
	memset(v, 0, sizeof(v));
	memset(h, 0, sizeof(h));
	
	freopen("medie.in", "r", stdin);
	freopen("medie.out", "w", stdout);
	scanf("%d\n", &n);
	fread(ax, sizeof(char), (n+3)*6, stdin);
	char *p;
	p=strtok(ax, "\n");
	v[1]=(short)atoi(p);
	
	for(i=2;i<=n;++i) {p=strtok(0, "\n"); v[i]=(short)atoi(p);}//scanf("%d\n", v+i);
	
	for(i=1;i<=n;++i) ++h[v[i]];
//	for(i=1;i<=10;++i) printf("%d ", h[i]);
	//printf("\n");
	
	int nr=0, vi, vj, sum;
	
	for(i=1;i<n;++i)
		for(j=i+1;j<=n;++j)
		{
			vi=v[i];
			vj=v[j];
			sum=vi+vj;
			//printf("%d %d %d %d\n", v[i], v[j], (v[i]+v[j])>>1, h[(v[i]+v[j])>>1]);
			if(vi==vj) nr+=h[vi]-2;
				else if(!((sum)&1))nr+=h[(sum)>>1];
		}
	
	printf("%d\n", nr);
return 0;
}