Cod sursa(job #753627)

Utilizator nrpcCiprian Stirbu nrpc Data 30 mai 2012 10:08:58
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int v[1002],w[1002];
bool u[50002];
int main()
{
	freopen("economie.in","r",stdin);
	freopen("economie.out","w",stdout);
	int n,i,min=0,x,j;
	scanf("%d",&n);
	for(i=1;i<=n;i++)scanf("%d",&v[i]);
	sort(v+1,v+n+1);
	x=v[1];w[++min]=v[1];
	for(i=0;i<=50000;i=i+x)u[i]=1;
	for(i=2;i<=n;i++)if(u[v[i]]==0)
	{
		w[++min]=v[i];
		for(j=0;j<=50000-v[i];j++)if(u[j]==1)u[j+v[i]]=1;
	}
	printf("%d",min);
	for(i=1;i<=min;i++)printf("\n%d",w[i]);
	return 0;
}