Cod sursa(job #278040)

Utilizator dinuddinu dan dinud Data 12 martie 2009 08:12:06
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>

int v[1001],sol[1001],s[1001],i,j,k,n,aux;

int main () {
	FILE *f = fopen("economie.in","r");
	FILE *g = fopen("economie.out","w");

	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++)
		fscanf(f,"%d",&v[i]);
	for(i=1;i<n;i++)
		 for(j=i+1;j<=n;j++)
			if(v[i]>v[j]){
				aux=v[j];
				v[j]=v[i];
				v[i]=aux;
				}

	s[0]=1;
	k=0;
	for(i=1;i<=n;i++) {
		if(s[v[i]]==0)
			sol[++k]=v[i];
			for(j=0;j+v[i]<=v[n];j++)
				if(s[j]==1)
					s[j+v[i]]=1;
			   }
	for(i=1;i<=k;i++)
		fprintf(g,"%d ",sol[i]);






	fclose(f);
	fclose(g);

return 0;
}