Pagini recente » Cod sursa (job #596283) | Cod sursa (job #2502616) | Cod sursa (job #223239) | Cod sursa (job #566799) | Cod sursa (job #2712563)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int NMAX = 1024;
const int VMAX = 5e4 + 4;
int N, a[NMAX];
bitset<VMAX> dp;
vector<int> sol;
int main() {
fin >> N;
for(int i = 1; i <= N; ++i)
fin >> a[i];
sort(a + 1, a + N + 1);
dp[0] = true;
for(int i = 1; i <= N; ++i)
if(!dp[a[i]]) {
sol.emplace_back(a[i]);
for(int j = 0; j + a[i] < VMAX; ++j)
if(dp[j])
dp[j + a[i]] = true;
}
fout << sol.size() << '\n';
for(const int &x : sol)
fout << x << '\n';
}