Cod sursa(job #404265)
| Utilizator | Data | 25 februarie 2010 23:17:51 | |
|---|---|---|---|
| Problema | Economie | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<stdio.h>
#include<stdlib.h>
int i,a[1002],ok[50002],n,k,j;
int cmp(const void *a,const void *b)
{
return (*(int*)a-*(int*)b);
}
int main()
{
freopen("economie.in","r",stdin);
freopen("economie.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
qsort(a+1,n,sizeof(int),cmp);
for(i=1;i<=n;i++)
if(!ok[a[i]])
{
k++;
for(j=2;j<=(a[n]/a[i]);j++)
ok[j*a[i]]=1;
}
printf("%d\n",k);
for(i=1;i<=n;i++)
if(!ok[a[i]])
printf("%d\n",a[i]);
return 0;
}
