Cod sursa(job #283213)

Utilizator mihaionlyMihai Jiplea mihaionly Data 18 martie 2009 20:57:54
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
FILE *f= fopen("economie.in","r");
FILE *g= fopen("economie.out","w");
char ok[50001];
int ax,n,a[1001],max,i,j,min[1001],k=0;
int main()
 {
 fscanf(f,"%d",&n);
 for(i=1;i<=n;i++)
  {
  fscanf(f,"%d",&a[i]);
  if(a[i]>max||i==1)
   max=a[i];
  ok[a[i]]=1; 
  }
 for(i=1;i<=n;i++)
  {
  if(ok[a[i]]==0)
   continue;
  for(j=2*a[i];j<=max;j+=a[i])
   if(ok[j])   
    ok[j]=0;
  }
 for(i=1;i<=n;i++)
  {
  if(ok[a[i]])
   min[++k]=a[i];
  }
 fprintf(g,"%d\n",k);
 for(i=1;i<k;i++)
  for(j=i+1;j<=k;j++)
   if(a[i]>a[j])
    {
    ax=a[i];
    a[i]=a[j];
    a[j]=ax;
    }
 for(i=1;i<=k;i++)
  fprintf(g,"%d\n",min[i]);
 return 0;
}