Pagini recente » Cod sursa (job #952020) | Cod sursa (job #2675454) | Cod sursa (job #2031721) | Cod sursa (job #2145977) | Cod sursa (job #2530294)
//#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int v[1005];
bool ruc[50005];
int sol[1005],cnt;
int main()
{
ifstream cin("economie.in");
ofstream cout("economie.out");
int n,maxim=-1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>v[i];
maxim=max(maxim,v[i]);
}
sort(v+1,v+n+1);
ruc[0]=1;
for(int i=1;i<=n;i++){
if(ruc[v[i]]==0){
for(int j=0;j<=maxim;j++){
if(ruc[j]==1 and j+v[i]<=maxim){
ruc[j+v[i]]=1;
}
if(j+v[i]>maxim)
break;
}
sol[++cnt]=v[i];
}
}
cout<<cnt<<"\n";
for(int i=1;i<=cnt;i++)
cout<<sol[i]<<"\n";
return 0;
}