Pagini recente » Autentificare | sda | Cod sursa (job #2841591) | Cod sursa (job #2004952) | Cod sursa (job #111818)
Cod sursa(job #111818)
#include <stdio.h>
#include <algorithm>
#include <vector>
using namespace std;
#define nm 50010
#define pb push_back
int v[nm], u[nm];
int n, i, sol, j;
vector <int> s;
void read()
{
scanf("%d ", &n);
for (i=1; i<=n; ++i)
{
scanf("%d ", &v[i]);
}
}
void solve()
{
sort(v+1, v+n+1);
sol = 0;
for (i=1; i<=n; ++i)
{
if (u[v[i]] == 0)
{
++sol;
s.pb(v[i]);
u[v[i]] = 1;
for (j=1; j<=v[n]; ++j)
{
if (u[j] != 0 && (j + v[i]) <= v[n])
{
u[j+v[i]] = 1;
}
}
}
}
}
void write()
{
printf("%d\n", sol);
for (i=0; i<sol; ++i)
{
printf("%d\n", s[i]);
}
}
int main()
{
freopen("economie.in", "r", stdin);
freopen("economie.out","w",stdout);
read();
solve();
write();
return 0;
}