Pagini recente » Cod sursa (job #1483068) | Cod sursa (job #2582349) | Cod sursa (job #504656) | Cod sursa (job #1300870) | Cod sursa (job #1187227)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int v[1005], sol[1005], soln;
bool itCouldBe[50005];
int N;
void read()
{
fin >> N;
for(int i = 0; i < N; i++)
fin >> v[i];
}
void solve()
{
sort(v,v+N);
itCouldBe[0] = true;
for(int i = 0; i < N; i++)
{
if(itCouldBe[v[i]] == false)
{
sol[soln] = v[i]; soln += 1;
for(int j = 0; j <= v[N-1] - v[i]; j++)
{
if(itCouldBe[j] == true)
itCouldBe[v[i] + j] = true;
}
}
}
}
void show()
{
fout << soln << "\n";
for(int i = 0; i < soln; i++)
fout << sol[i] << "\n";
}
int main()
{
read();
solve();
show();
return 0;
}