Pagini recente » Cod sursa (job #464310) | Cod sursa (job #564707) | Cod sursa (job #2512502) | Cod sursa (job #69395) | Cod sursa (job #360308)
Cod sursa(job #360308)
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define maxim 50000
using namespace std;
int main()
{
int n,x[50000],v[50001],nr=0,sol[50000],i,j;
FILE *f=fopen("economie.in","r");
fscanf(f,"%i",&n);
for(i=0;i<n;i++)
fscanf(f,"%i",x+i);
fclose(f);
memset(v,0,sizeof(v));
v[0]=1;
sort(x,x+n);
sol[nr++]=x[0];
for(i=1;i<n;i++)
{
for(j=0;j<=maxim;j++)
{
if(j>=x[i-1] && v[j-x[i-1]]==1)
v[j]=1;
}
if(v[x[i]]==0)
sol[nr++]=x[i];
}
f=fopen("economie.out","w");
fprintf(f,"%i\n",nr);
for(i=0;i<nr;i++)
fprintf(f,"%i\n",sol[i]);
fclose(f);
return 0;
}