Pagini recente » Cod sursa (job #469000) | Cod sursa (job #119452) | Cod sursa (job #560779) | Cod sursa (job #609672) | Cod sursa (job #300644)
Cod sursa(job #300644)
#include<stdio.h>
#define N 1001
#define M 50001
int v[N],pz,n,ap[M],cit[M],val_max,q[N];
void fcit()
{
int x;
scanf("%d",&n);
for( int i=0 ; i<n ; ++i )
{
scanf("%d",&x);
cit[x]++;
if(x>val_max)
val_max=x;
}
for( int i=1 ; i<=val_max ; ++i )
while( cit[i]-- )
v[pz++]=i;
pz=0;
}
void calc()
{
q[pz++]=v[0];
for( int j=1 ; v[0]*j<=v[n-1] ; ++j )
ap[v[0]*j]=1;
for( int i=1 ; i<n ; ++i )
if( ap[v[i]]==0 )
{
q[pz++]=v[i];
for( int j=0 ; j+v[i]<v[n-1] ; ++j )
if( ap[j] )
ap[ j + v[i] ]=1;
}
printf("%d\n",pz);
for(int i=0 ; i<pz ; ++i )
printf("%d\n",q[i]);
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
fcit();
calc();
return 0;
}