Pagini recente » Cod sursa (job #2506752) | Cod sursa (job #396382) | Cod sursa (job #313642) | Cod sursa (job #2769937) | Cod sursa (job #580395)
Cod sursa(job #580395)
#include<stdio.h>
#include<algorithm>
using namespace std;
int sol[50010];
int inf=1<<31;
int mon[1010],uz[1010];
int n,cnt;
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&mon[i]);
sort(mon+1,mon+n+1);
int max=mon[n];
sol[0]=1;
for(int i=1;i<=max;i++)
{
for(int j=1;j<=n;j++)
{
if(i-mon[j]>=0)
if(sol[i-mon[j]]==1) {sol[i]=1;if(uz[j]==0) cnt++;uz[j]=1;break;}
}
}
printf("%d\n",cnt);
for(int i=1;i<=n;i++)
{
if(uz[i]==1) printf("%d\n",mon[i]);
}
}