Cod sursa(job #360292)

Utilizator bent_larsenSturzu Antonio-Gabriel bent_larsen Data 30 octombrie 2009 21:07:27
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define maxim 50000

using namespace std;

int main()
{
	int n,x[50000],v[50000],nr=0,sol[50000],i,j;
	FILE *f=fopen("economie.in","r");

	fscanf(f,"%i",&n);
	for(i=0;i<n;i++)
		fscanf(f,"%i",x+i);
	fclose(f);

	memset(v,0,sizeof(v));
	v[0]=1;
	sort(x,x+n);

	for(i=0;i<n;i++)
	{
		for(j=0;j<=maxim;j++)
			if(j>=x[i] && v[j-x[i]]==1)
				v[j]=1;
	}

	for(i=0;i<n;i++)
		if(v[x[i]]==0)
			sol[nr++]=x[i];
	f=fopen("economie.out","w");
	fprintf(f,"%i\n",nr);
	for(i=0;i<nr;i++)
		fprintf(f,"%i\n",sol[i]);
	fclose(f);
	return 0;
}