Cod sursa(job #114476)

Utilizator mariussMarius Telespan mariuss Data 14 decembrie 2007 14:12:54
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
int v[3][1001],i,j,n,nr,k,min,max;
int main()
{
	freopen("economie.in","r",stdin);
	freopen("economie.out","w",stdout);

	scanf("%d",&n);
	min=999;
	max=0;

	for(i=1;i<=n;i++)
	{
		scanf("%d",&k);
		v[1][k]=v[2][k]=1;
		if(min>k)
			min=k;

		if(max<k)
			max=k;
	}


	for(i=min;i<=max;i++)
		if(v[1][i]==1)
		{
			for(j=min;j<=max;j++)
				if(v[1][j]==1)
					v[1][ i + j ]++;
		}

	for(i=min;i<=max;i++)
		if(v[1][i]==1&&v[2][i]==1)
			nr++;

	printf("%d\n",nr);

	for(i=min;i<=max;i++)
		if(v[1][i]==1&&v[2][i]==1)
			printf("%d\n",i);

	return 0;

}