Cod sursa(job #426021)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 26 martie 2010 12:55:40
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin("economie.in");
ofstream fout("economie.out");

int V[1002],n,i,j,k,update[1002],affirmative,x,minim,ciur[100000],suma;

int cmp(int i, int j)
	{
		return j>i;
	}

int main()

{
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>V[i];
	sort(V,V+n+1,cmp);
	update[1]=V[1];
	for(x=1;x*V[1]<=50005;x++)
		ciur[x*V[1]]=1;
	minim++;
	k=2;
	ciur[0]=1;
	for(i=2;i<=n;i++)
		for(x=2;x*V[i-1]<=50005;x++)
			ciur[x*V[i-1]]=1;
	
	for(i=1;i<=n;i++)
		if(ciur[V[i]]==1)
			for(j=50001;j>=0;j--)
			{
				if(j==10)
					int oki=1;
				if(ciur[j]==1)
					ciur[V[i]+j]=1;
			}
		
	for(i=2;i<=n;i++)
		if(ciur[V[i]]==0)
		{
			minim++;
			update[k++]=V[i];
		}
		
	fout<<minim<<"\n";
	for(i=1;i<=k-1;i++)
	{
		fout<<update[i];
		fout<<"\n";
	}
	return 0;
}