Cod sursa(job #426075)

Utilizator dornescuvladVlad Eugen Dornescu dornescuvlad Data 26 martie 2010 13:28:38
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<iostream>
#include<fstream>

using namespace std;

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

int V[1002],n,i,j,k,update2[1002],update[1002],Din[100000],Dinamik[100000],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;
	
	Din[0]=1;
	for(i=1;i<=n;i++)
		for(j=50001;j>=0;j--)
		{	
			if(V[i]+j==13)
				int oki=1;
			if(ciur[j]==1 && j==0)
				Din[V[i]+j]++;
			else
				if(ciur[j]==1 && j!=0)
					Dinamik[V[i]+j]=2;
		}
	for(i=2;i<=n;i++)
		if(Dinamik[V[i]]==0 && ciur[V[i]]==0)
		{
			minim++;
			update[k++]=V[i];
		}
	fout<<minim<<"\n";
	for(i=1;i<=minim;i++)
		fout<<update[i]<<"\n";
	return 0;
}