Cod sursa(job #423140)

Utilizator drywaterLazar Vlad drywater Data 23 martie 2010 15:46:12
Problema Economie Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>
FILE *f=fopen("economie.in","r"),*g=fopen("economie.out","w");
int n,v[50001],i,j,max,k;
int main(void)
{
	fscanf(f,"%d",&n);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d",&k);
		v[k]=1;
		if (k>max) max=k;
	}
	for (i=1;i<max;i++)
	{
		if (v[i]==0) continue;
		for (j=i;j<=max && i+j<=max;j++)
			if (v[j]!=0)
				{if (v[i+j]==1) {n--;} v[i+j]=-1; }
	}
	fprintf(g,"%d\n",n);
	for (i=1;i<=max;i++)
		if (v[i]==1)
			fprintf(g,"%d\n",i);
	fclose(g);
	return 0;
}