Pagini recente » Cod sursa (job #2910087) | Cod sursa (job #820731) | Cod sursa (job #408919) | Cod sursa (job #2006683) | Cod sursa (job #396769)
Cod sursa(job #396769)
#include<algorithm>
using namespace std;
struct cel
{
int x,y;
} v[5000];
char l[50010];
int K;
int cmp(cel a,cel b)
{
return a.x<b.x;
}
int N;
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i)
{
scanf("%d",&v[i].x);
l[v[i].x]=1;
}
sort(v+1,v+N+1,cmp);
l[0]=1;
for(int i=1;i<=N;++i)
{
if(v[i].y==0)
{
v[i].y=1;
l[v[i].x]=1;
++K;
for(int j=v[i].x;j<=50000;j+=v[i].x)
{
l[j]=1;
}
for(int j=i+1;j<=N;++j)
{
if(l[v[j].x-v[i].x]==1)
{
l[v[j].x]=1;
v[j].y=2;
}
}
}
}
printf("%d\n",K);
for(int i=1;i<=N;++i)
{
if(v[i].y==1)
printf("%d ",v[i].x);
}
return 0;
}