Pagini recente » Cod sursa (job #577633) | Cod sursa (job #3244151) | Cod sursa (job #1672802) | Cod sursa (job #2380235) | Cod sursa (job #237435)
Cod sursa(job #237435)
#include<stdio.h>
int i,j,k,l,m,n,nr,sol[1011],viz[50011],v[1011],p,max;
int main(){
FILE *f=fopen("economie.in","r");
FILE *g=fopen("economie.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
{fscanf(f,"%d",&v[i]);
if(v[i]>max)max=v[i];
if(v[i]==1)
{fprintf(g,"%d\n%d",1,1);
fclose(f);
fclose(g);
return 0;}
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]){
m=v[i];
v[i]=v[j];
v[j]=m;}
for(i=1;i<=n;i++)
{if(!viz[v[i]])
{sol[0]++;
sol[sol[0]]=v[i];viz[v[i]]=1;
for(j=1;j<=max-v[i];j++)
if(viz[j]||j%v[i]==0)
viz[j+v[i]]=1;
}
}
fprintf(g,"%d\n",sol[0]);
for(i=1;sol[i];i++)
fprintf(g,"%d\n",sol[i]);
fclose(f);
fclose(g);
return 0;}