Pagini recente » Cod sursa (job #186190) | Cod sursa (job #2439700) | Cod sursa (job #2925938) | Cod sursa (job #1162713) | Cod sursa (job #2557538)
#include <fstream>
#include <vector>
#include <bitset>
#include <algorithm>
#define nmax 1002
#define vmax 50002
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,maxx;
int mon[nmax];
bitset <vmax> ap;
vector <int> ans;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>mon[i];
maxx=max(maxx,mon[i]);
}
sort(mon+1,mon+n+1);
ap[0]=1;
for(int i=1;i<=n;i++)
{
if(ap[mon[i]]==0)
ans.push_back(mon[i]);
else
{
for(int j=0;j+mon[i]<=maxx;j++)
if(ap[j]==1)
ap[mon[i]+j]=1;
}
}
fout<<ans.size()<<"\n";
for(int i=0;i<ans.size();i++)
fout<<ans[i]<<"\n";
return 0;
}