Cod sursa(job #495274)

Utilizator cat_red20Vasile Ioana cat_red20 Data 24 octombrie 2010 17:26:40
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>
#include<algorithm>
FILE *fin,*fout;
using namespace std;
int n,v[50001],ss[1001],i,a[1001],p,j;
int main(){
	fin=fopen("economie.in","r");
	fout=fopen("economie.out","w");
	fscanf(fin,"%d",&n);
	for(i=1;i<=n;i++){
		fscanf(fin,"%d",&a[i]);
	}
	sort(a+1,a+n+1);
	v[0]=1;
	for(i=1;i<=n;i++){
		if(v[a[i]]==0){
			ss[++p]=a[i];
			
			for(j=0;j<=a[n]-a[i];j++){
				if(v[j]==1){v[j+a[i]]=1;}
			}
		}
	}
	fprintf(fout,"%d",p);
	for(i=1;i<=p;i++){
		fprintf(fout,"\n%d",ss[i]);
	}
	return 0;}