Pagini recente » Cod sursa (job #2237148) | Cod sursa (job #985294) | Cod sursa (job #3193052) | Cod sursa (job #3177834) | Cod sursa (job #999340)
Cod sursa(job #999340)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 1005, SMAX = 50005;
int N, V[NMAX], Is[SMAX], Ans[NMAX];
int main()
{
freopen("economie.in", "r", stdin);
freopen("economie.out", "w", stdout);
scanf("%i", &N);
for(int i = 1; i <= N; ++ i)
scanf("%i", &V[i]);
sort(V + 1, V + N + 1);
for(int i = 1; i <= N; ++ i)
if(!Is[V[i]])
{
Is[V[i]] = 1;
Ans[++Ans[0]] = V[i];
for(int j = 0; j + V[i] < SMAX; ++ j)
if(Is[j])
Is[j + V[i]] = 1;
}
printf("%i\n", Ans[0]);
for(int i = 1; i <= Ans[0]; ++ i)
printf("%i ", Ans[i]);
return 0;
}