Pagini recente » Cod sursa (job #1542756) | Cod sursa (job #3041040) | Cod sursa (job #3259096)
#include <fstream>
#include <bitset>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("economie.in");
ofstream cout("economie.out");
vector<int>elemselectate;
short v[1001],n;
bitset<100001>frecv;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
sort(v+1,v+n+1);
elemselectate.push_back(v[1]);
frecv[0]=1;
for(int i=2;i<=n;i++)
{
if(!frecv[v[i]])
{
for(int j=v[i-1];j<=v[i];j++)
{
for(auto elem:elemselectate){
frecv[j] = max(frecv[j],frecv[j-elem]);
}
}
if(!frecv[v[i]])
elemselectate.push_back(v[i]);
}
}
cout<<elemselectate.size()<<'\n';
for(int i=0;i<elemselectate.size();i++)
cout<<elemselectate[i]<<'\n';
return 0;
}