Pagini recente » Cod sursa (job #2504280) | Cod sursa (job #2314817) | Cod sursa (job #1077287) | Cod sursa (job #417267) | Cod sursa (job #300590)
Cod sursa(job #300590)
#include<cstdio>
#include<vector>
#include<algorithm>
#define N 1001
#define M 50001
using namespace std;
int n,v[N],d[M],vm,vl,a[M],b[M];
void cit()
{
int x;
scanf("%d",&n);
for( int i=0 ; i<n ; ++i )
{
scanf("%d",&x);
if( x > vm )
vm=x;
++a[x];
}
int poz=0;
for( int i=0 ; i<=vm ; ++i )
while(a[i]--)
v[poz++]=i;
}
void calc()
{
b[vl++]=0;
for( int i=v[b[0]] ; i<=vm ; i+=v[b[0]] )
d[i]++;
for( int i=1 ; i<n ; ++i )
{
if(d[v[i]]==0)
{
v[vl++]=i;
d[v[i]]++;
for( int j=1 ; j<=vm-i ; j++ )
if(d[v[i]])
for( int k=j ; k<=vm ; k+=j )
d[v[i]]++;
}
}
printf("%d\n",vl);
for( int i=0 ; i<vl ; ++i )
printf("%d\n",v[b[i]]);
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
cit();
calc();
return 0;
}