Cod sursa(job #1233428)

Utilizator patrutoiuandreipatrutoiu andrei patrutoiuandrei Data 25 septembrie 2014 12:28:57
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int i,n,j,x,Max,h,a[50001],v[50001];
int main()
{
fin>>n;
for(i=1;i<=n;i++)
    {
        fin>>x;
        a[x]=1;
        if(Max<x)
        Max=x;
    }
    if (a[1]==1)
        fout<<1<<'\n'<<1;
    else{
v[0]=1;

for(i=1;i<=Max;i++)
{
    if(a[i]==1)
    {
        for(j=0;j<=Max-i;j++)
        {

            if(v[j]!=0&&v[j+i]!=1)
            {
                v[j+i]=1;
                if (a[i]!=2){
                a[i]=2;
                h++;}
            }
        }
    }
}
fout<<h<<'\n';
for(i=1;i<=Max;i++)
if(a[i]==2)
fout<<i<<" ";
    }

    return 0;
}