Pagini recente » Cod sursa (job #876739) | Cod sursa (job #3203341) | Cod sursa (job #2843073) | Cod sursa (job #933092) | Cod sursa (job #2277050)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("economie.in");
ofstream fout ("economie.out");
int v[50005], d[50005], s[50005];
int n, i, m, j, k;
int main(){
fin >> n;
for (i=1; i<=n; i++){
fin >> v[i];
m = max(m, v[i]);
}
d[0] = 1;
for (i=1; i<=n; i++){
if (d[v[i]] == 0){
s[++k] = v[i];
for (j=0; j<=m-v[i]; j++){
if (d[j] == 1 && j + v[i] <= m){
d[j + v[i]] = 1;
}
}
}
}
fout << k << "\n";
for (i=1; i<=k; i++){
fout << s[i] << "\n";
}
return 0;
}