Cod sursa(job #60471)

Utilizator FlorianFlorian Marcu Florian Data 14 mai 2007 19:33:44
Problema Medie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<string.h>
int min(long x, long y)
	{
	if (x<y) return x;
	else return y;
	}
int main()
{
long a,b,ok,u[10000],min2,s,m,v[10000],i,j,k,n,aux,p;
long long unsigned sol=0;
FILE*f=fopen("medie.in","r");
FILE*g=fopen("medie.out","w");
fscanf(f,"%ld",&n);
memset(u,0,sizeof(u));
for(i=1;i<=n;++i) {fscanf(f,"%ld",&v[i]); u[v[i]]++;}
for(i=1;i<=n;++i)
	{
	a=1;
	s=2*v[i];
	while(a<=s/2)
		{
		b=s-a;
		min2=min(u[a],u[b]);
		if (min2!=0)
			{
			if (v[i]==a)sol--;
			else if (v[i]==b) sol--;
			sol+=min2;
			}

		a++;
		}
	}
fprintf(g,"%llu",sol);
return 0;}