Pagini recente » Cod sursa (job #1957095) | Cod sursa (job #282880) | Cod sursa (job #2065246) | Cod sursa (job #1834985) | Cod sursa (job #657659)
Cod sursa(job #657659)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define PB push_back
#define VMAX 50005
#define maxN 1005
bool v[VMAX];
int A[maxN];
vector <int> sol;
int main()
{
freopen ("economie.in", "r", stdin);
freopen ("economie.out", "w", stdout);
int N;
scanf ("%d", &N);
for (int i = 1; i <= N; ++ i) scanf ("%d", &A[i]);
sort (A + 1, A + N + 1);
for (int i = 1; i <= N; ++ i)
{
int nr = A[i];
if (v[nr]) continue;
sol.PB (nr);
v[nr] = true;
for (int i = nr + 1; i <= VMAX; ++ i) if (v[i - nr]) v[i] = true;
}
printf ("%d\n", sol.size());
for (unsigned int i = 0; i < sol.size(); ++ i) printf ("%d\n", sol[i]);
return 0;
}