Pagini recente » Cod sursa (job #901026) | Cod sursa (job #546420) | Cod sursa (job #1239536) | Cod sursa (job #1384409) | Cod sursa (job #2172725)
#include <cstdio>
#include <algorithm>
#define NMAX 1005
#define CIFMAX 50000
using namespace std;
int n, a[NMAX], c[CIFMAX+5], sol[NMAX];
void ciur(int x)
{
c[x]=1;
for(int i = 1; i <= CIFMAX; i++)
{
if(c[i] == 1 && i+x<=CIFMAX)
{
c[i+x] = 1;
}
}
}
int main()
{
freopen("pinex.in","r",stdin);
freopen("pinex.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
sort(a+1, a+1+n);
for(int i = 1; i <= n; i++)
{
if(c[a[i]] != 1)
{
ciur(a[i]);
sol[++sol[0]] = a[i];
}
}
printf("%d\n",sol[0]);
for(int i=1; i<=sol[0]; i++)
printf("%d\n",sol[i]);
return 0;
}