Pagini recente » Cod sursa (job #1661790) | Cod sursa (job #1777034) | Cod sursa (job #64896) | Cod sursa (job #2326981) | Cod sursa (job #2277051)
#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]);
}
sort (v, v + n + 1);
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;
}