Pagini recente » Cod sursa (job #1321046) | Cod sursa (job #1642871) | Cod sursa (job #494617) | Cod sursa (job #1469112) | Cod sursa (job #1289625)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
bool s[50005];
int v[1005];
vector < int > sol;
int main()
{
int n,soln;
f >> n;
for(int i = 1; i <= n; i++)
f >> v[i];
sort(v + 1, v + n + 1);
for(int i = 1; i <= n; i++){
if(s[v[i]] == 0){
s[v[i]] = 1;
sol.push_back(v[i]);
for(int j = 0; j <= 50000 - v[j]; j++){
if(s[j] == 1)
s[j+v[i]] = 1;
}
}
}
soln = sol.size();
g << soln << "\n";
for(int i = 0; i < soln; i++)
g << sol[i] << "\n";
return 0;
}