Pagini recente » Cod sursa (job #1766463) | Cod sursa (job #840438) | Cod sursa (job #183066) | Cod sursa (job #573457) | Cod sursa (job #1779664)
#include <fstream>
#include <algorithm>
#include <bitset>
using namespace std;
int n,i,v[1001],sol[1001],j,maxi,k,ok;
bitset <50001>f;
ifstream fin ("economie.in");
ofstream fout ("economie.out");
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
sort (v+1,v+n+1);
//sol[1] = v[1];
//k = 1;
maxi = v[n];
//for (i=v[1];i<=maxi;i+=v[1])
// f[i] = 1;
f[0] = 1;
for (i=1;i<=n;i++){
if (f[v[i]] == 0){
sol[++k] = v[i];
for (j=0;j<=v[n];j++){
if (f[j] == 1)
f[j+v[i]] = 1;
// if (j % v[i] == 0)
// f[j] = 1;
}
ok++;
}
}
fout<<k<<"\n";
for (i=1;i<=k;i++)
fout<<sol[i]<<"\n";
return 0;
}