Pagini recente » Cod sursa (job #504325) | Cod sursa (job #750518) | Cod sursa (job #1429446) | Cod sursa (job #1350309) | Cod sursa (job #2946289)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("economie.in");
ofstream cout("economie.out");
int v[50005],dp[50005],sol[50005],nr;
int main(){
int n;
cin>>n;
for(int i=1;i<=50005;i++)
dp[i]=-1;
for(int i=1;i<=n;i++){
cin>>v[i];
}
dp[0]=1;
sort(v+1,v+n+1);
for(int k=1;k<=n;k++){
int val=v[k];
if(dp[val]==-1){
sol[++nr]=val;
for(int i=0;i<=v[n]-val;i++)
if(dp[i]!=-1)
dp[i+val]=1;
}
}
cout<<nr<<"\n";
for(int i=1;i<=nr;i++)
cout<<sol[i]<<" ";
}