Pagini recente » Borderou de evaluare (job #2014732) | Cod sursa (job #2460275) | Cod sursa (job #2594706) | Borderou de evaluare (job #2080726) | Cod sursa (job #2602594)
#include <bits/stdc++.h>
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int n,v[1001],raspuns;
bitset<50001>ap;
bitset<1001>rasp;
int main()
{
f >> n;
for(int i = 1; i <= n; ++i)
f >> v[i];
sort(v + 1,v + n + 1);
for(int i = 1; i <= n; ++i)
if(ap[v[i]] == 0)
{
ap[v[i]] = 1;
raspuns++;
rasp[i] = 1;
for(int j = 1; j <= 50000 - v[i]; ++j)
if(ap[j] == 1)
ap[j + v[i]] = 1;
}
g << raspuns << '\n';
for(int i = 1; i <= n; ++i)
if(rasp[i])
g << v[i] << '\n';
return 0;
}