Pagini recente » Profil Radioactiv | Monitorul de evaluare | Cod sursa (job #1681556) | Tudor Maxim | Cod sursa (job #111491)
Cod sursa(job #111491)
#include <cstdio>
#include <bitset>
#include <algorithm>
using namespace std;
#define Nmax 1024
#define Vmax 50015
int n;
int sir[Nmax], list[Nmax];
bitset<Vmax> v;
void citire()
{
int i;
scanf("%d\n", &n);
for (i = 1; i <= n; ++i)
scanf("%d\n", &sir[i]);
}
void solve()
{
int i, j, ct = 0;
sort(sir+1, sir+n+1);
v[0] = 1;
for (i = 1; i <= n; ++i)
if (!v[sir[i]])
{
for (j = 0; j + sir[i] <= sir[n]; ++j)
if (v[j]) v[j + sir[i]] = 1;
list[++ct] = sir[i];
}
printf("%d\n", ct);
for (i = 1; i <= ct; ++i)
printf("%d\n", list[i]);
}
int main()
{
freopen("economie.in", "r", stdin);
freopen("economie.out", "w", stdout);
citire();
solve();
return 0;
}