Pagini recente » Cod sursa (job #3127713) | Cod sursa (job #1445255) | Cod sursa (job #2101688) | Cod sursa (job #2716878) | Cod sursa (job #3122301)
#include <fstream>
#include <algorithm>
#include <vector>
#define nmax 50005
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
int n;
vector<int> ans;
int v[nmax];
bool d[nmax];
int main()
{
in>>n;
d[0] = 1;
for(int i=1; i<=n; i++)
{
in>>v[i];
}
sort(v+1, v+n+1);
for(int i=1; i<=n; i++)
{
if (d[v[i]] == false) {
d[v[i]] = true;
ans.push_back(v[i]);
for (int j = 0; j < nmax - v[i]; j++) {
if (d[j] == true) {
d[j + v[i]] = true;
}
}
}
}
out<<ans.size()<<"\n";
for(int i=0; i<ans.size(); i++)
{
out<<ans[i]<<"\n";
}
return 0;
}