Pagini recente » Cod sursa (job #318847) | Cod sursa (job #2057182) | Cod sursa (job #694289) | Cod sursa (job #2432376) | Cod sursa (job #2277049)
#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; 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;
}