Cod sursa(job #419853)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 18 martie 2010 08:24:05
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE*f=fopen("economie.in","r");
FILE*g=fopen("economie.out","w");
int v[1001],n,i,j;
int s[50001],ok;
int main () {
	fscanf(f,"%d",&n);
	for(i=1;i<=n;i++)
		fscanf(f,"%d",&v[i]);
	sort(v+1,v+n+1);
	s[0]=1;
	for(i=1;i<=n;i++){
		for(j=0;j<=v[n]+1;j++){
			if(s[j]==1&&s[v[j]+v[i]]==0&&j+v[i]<=v[n]+1)
				s[v[j]+v[i]]=1;
		}
		ok=0;
		for(j=1;j<=n;j++){
			if(s[v[j]]==0){
				ok=1;
				break;
			}
		}
		if(ok==0)
			break;
	}
	fprintf(g,"%d\n",i);
	for(j=1;j<=i;j++)
		fprintf(g,"%d ",v[j]);
	
	fclose(f);
	fclose(g);
	return 0;
}