Pagini recente » Cod sursa (job #2155612) | Cod sursa (job #2670459) | Cod sursa (job #2525595) | Cod sursa (job #1208915) | Cod sursa (job #462750)
Cod sursa(job #462750)
#include <stdio.h>
#define lung 5000000
#define lng 50000
bool a[lng+1], s[lung+1];
int r[1001],N,Max,Su;
void citire()
{
int i,x;
freopen("economie.in","r",stdin);
scanf("%d",&N);
for (i=0;i<N;i++)
{
scanf("%d",&x);
a[x]=true;
Max = (x>Max) ? x : Max;
}
fclose(stdin);
}
void scriere()
{
int i;
freopen("economie.out","w",stdout);
for (i=0;i<=r[0];i++)
printf("%d\n",r[i]);
fclose(stdout);
}
void rez()
{
int i,j,Smax;
s[0]=true;Smax=0;
for (i=1;i<=Max;i++)
if (a[i] && !s[i])
{
r[++r[0]]=i;
for (j=0;j<=Max;j++)
if (s[j])
{
s[j+i]=true;
}
}
}
int main()
{
citire();
rez();
scriere();
return 0;
}