Pagini recente » Inchidere cont | Cod sursa (job #1788972) | Cod sursa (job #2880963) | Cod sursa (job #2702283) | Cod sursa (job #1289619)
#include <iostream>
#include <fstream>
#include <vector>
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];
for(int i = 1; i <= n; i++){
if(s[v[i]] == 0){
s[v[i]] = 1;
sol.push_back(v[i]);
for(int j = 1; 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;
}