Cod sursa(job #838137)

Utilizator superman_01Avramescu Cristian superman_01 Data 19 decembrie 2012 00:06:16
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>

int n,v[1005],a[50005],c[1005],k;

void generare()
{
	int i;
	std::scanf("%d",&n);
	for(i=1;i<=n;i++)
		std::scanf("%d",&v[i]);
	std::fclose(stdin);
    	
}
void rezolvare()
{
	
	int i,j;
	
	std::sort(v+1,v+n+1);
	
	for(i=1;i<=n;i++)

		if(a[v[i]]!=1)
	{    
		a[v[i]]=0;
		
		for(j=v[i];j<=v[n];j+=v[i])
		{
			a[v[i]+j]=1;
	         	
		}
			
	}
	
	
	for(i=1;i<=n;i++)
		if(a[v[i]]==0)
		{
			
			c[++k]=v[i];
		}
	
	
	
	return ;
}
void afisare()
{
	int i;
	
	std::printf("%d",k);
	std::printf("\n");
	
	for(i=1;i<=k;i++)
        {
			std::printf("%d",c[i]);
			std::printf("\n");
	}
	
	std::fclose(stdout);
}

int main()
{
	std::freopen("economie.in","r",stdin);
	std::freopen("economie.out","w",stdout);
	generare();
	rezolvare();
	afisare();
    return 0;
}