Cod sursa(job #110321)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 26 noiembrie 2007 09:00:44
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
long int n,i,j,k,cit,l3,v1[100002],v2[100002],v3[1002],vmin,vmax,nrm;
int main()
{
	FILE *f,*g;f=fopen("economie.in","r");g=fopen("economie.out","w");
	fscanf(f,"%ld",&n);
	vmin=50001;
	for(i=1;i<=n;i++)
	{
	  fscanf(f,"%ld",&j);
	  if(!v1[j])
	  { v1[j]=1;nrm++;
	    vmax=(j>vmax)?j:vmax;
	    vmin=(j<vmin)?j:vmin;
	  }
	}
	l3=1;v3[l3]=vmin;v2[i]=1;
	for(i=vmin;i<=vmax;i++)
	 { if(v1[i])
	    if(!v2[i]){l3++;v3[l3]=i;v2[i]=1;}
	   if(v2[i])
	    for(j=1;j<=l3;j++)
	     { v2[i+v3[j]]=1;
	       if(v1[i+v3[j]])v1[i+v3[j]]=0;
	     }
	 }
	fprintf(g,"%ld\n",l3);
	 for(i=1;i<=l3;i++)
	  fprintf(g,"%ld\n",v3[i]);
	 fcloseall();
	 return 0;
}