Pagini recente » Cod sursa (job #708764) | Cod sursa (job #2645281) | Cod sursa (job #597165) | Cod sursa (job #1635493) | Cod sursa (job #2277619)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int NMAX = 1000, SMAX = 50001;
int V[NMAX + 5], Sol[NMAX + 5], N, ct;
bool S[SMAX + 5];
int main()
{
fin >> N;
for(int i = 0; i < N; i++)
fin >> V[i];
sort(V, V + N);
S[0] = true;
for(int i = 0; i < N; i++)
{
if(!S[V[i]]) {
for(int k = 0; k < SMAX; k++) {
if(S[k] && k + V[i] < SMAX)
S[k + V[i]] = true;
}
Sol[ct++] = V[i];
}
}
fout << ct << '\n';
for(int i = 0; i < ct; i++)
fout << Sol[i] << '\n';
fin.close();
fout.close();
return 0;
}