Pagini recente » Cod sursa (job #1128243) | Cod sursa (job #817906) | Cod sursa (job #1406113) | Cod sursa (job #2126486) | Cod sursa (job #3323228)
#include <bits/stdc++.h>
#define ll long long
#define cin fin
#define cout fout
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int NMAX = 1000;
const int WMAX = 50000;
const int INF = 1e9;
int n;
int a[NMAX + 1];
bool dp[WMAX + 1];
vector<int> answer;
int main() {
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + n + 1);
dp[0] = 1;
for(int i = 1; i <= n; i++) {
if(!dp[a[i]]) {
answer.push_back(a[i]);
for(int j = 0; j + a[i] <= WMAX; j++) {
if(dp[j]) {
dp[j + a[i]] = 1;
}
}
}
}
cout << answer.size() << '\n';
for(int x : answer) {
cout << x << '\n';
}
return 0;
}