Pagini recente » Cod sursa (job #2349804) | Cod sursa (job #559487) | Cod sursa (job #2766682) | Cod sursa (job #2750935) | Cod sursa (job #2731334)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <fstream>
#define MAX 50002
using namespace std;
int n,v[MAX],dp[MAX],w[MAX],k,elem;
ifstream fin("economie.in");
ofstream fout("economie.out");
int main()
{
fin >> n;
for(int i = 1; i <= n; i++){
fin >> v[i];
elem = max(elem, v[i]);
}
sort(v+1, v+n+1);
for(int i = 1; i <= n; i++){
if(dp[v[i]] == 0){
w[++k] = v[i];
dp[v[i]] = 1;
for(int j = 1; j <= elem-v[i]; j++){
if(dp[j] != 0){
dp[j+v[i]] = 1;
}
}
}
}
dp[0] = 0;
fout << k << "\n";
for(int i = 1; i <= k; i++){
fout << w[i] << " ";
}
return 0;
}