Pagini recente » Cod sursa (job #703180) | Cod sursa (job #2899297) | Cod sursa (job #226536) | Cod sursa (job #1009110) | Cod sursa (job #988324)
Cod sursa(job #988324)
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
int a[1005];
bool d[50005];
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",a+i);
sort(a+1,a+n+1);
vector<int> sol;
d[0]=1;
for(int i=1;i<=n;i++)
if(!d[a[i]])
{
sol.push_back(a[i]);
for(int j=0;j<=a[n]-a[i];j++)
if(d[j])
d[j+a[i]]=1;
}
printf("%d\n",(int)sol.size());
for(int i=0;i<(int)sol.size();i++)
printf("%d%c",sol[i],i==(int)sol.size()-1?'\n':' ');
return 0;
}