Pagini recente » Cod sursa (job #288648) | Cod sursa (job #3265154) | Cod sursa (job #2978593) | Cod sursa (job #1482706) | Cod sursa (job #3156286)
#include <bits/stdc++.h>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
int n, a;
int dp[50001], v[1001];
int sol[1001], solPos;
int main()
{
in >> n;
for(int i = 0; i < n; i ++){
in >> v[i];
}
sort(v, v+n);
for(int i = 0; i < n; i ++){
if(dp[v[i]] == 0){
sol[solPos] = v[i];
solPos ++;
dp[v[i]] = 1;
for(int j = 1; j <= 50000; j ++){
if(dp[j] == 1 && j + v[i] <= 50000){
dp[j+v[i]] = 1;
}
}
}
}
out << solPos << endl;
for(int i = 0; i < solPos; i ++){
out << sol[i] << endl;
}
return 0;
}