Pagini recente » Cod sursa (job #3306579) | Cod sursa (job #1676476) | Cod sursa (job #2790907) | Cod sursa (job #895808) | Cod sursa (job #3348492)
#include <fstream>
#include <algorithm>
#include <vector>
#define NMAX 1009
#define VMAX 50009
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int N,v[NMAX],dp[VMAX];
vector<int>sol;
void citire()
{
fin>>N;
for(int i=1; i<=N; i++)
{
fin>>v[i];
}
}
int main()
{
citire();
sort(v+1,v+1+N);
dp[0]=1;
for(int i=1; i<=N; i++)
{
if(!dp[v[i]])
{
sol.push_back(v[i]);
for(int j=v[i]; j<VMAX; j++)
{
dp[j]=dp[j]|dp[j-v[i]];
}
}
}
fout<< sol.size() << "\n";
for(int i=0; i<sol.size(); i++)
{
fout<< sol[i] << "\n";
}
return 0;
}