Cod sursa(job #2022101)

Utilizator LizaSzabo Liza Liza Data 15 septembrie 2017 17:39:13
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const unsigned short NMax=1005;
unsigned short N,A[NMax],Sol[NMax],k,P[50001];


int main()
{
   fin>>N;
   for(int i=1;i<=N;++i)
   {
       fin>>A[i];
   }

   sort(A+1,A+N+1);

    P[0]=1;
    for(int i=1;i<=N;i++)
    {
        if(P[A[i]]==0)
        {
            ++k;
            Sol[k]=A[i];
            for(int j=0;j<=50000;j++)
            {
                if(P[j]==1 && j+A[i]<=50000)
                    P[j+A[i]]=1;
            }
        }
    }

fout<<k<<"\n";
for(int i=1;i<=k;++i)
{
    fout<<Sol[i]<<"\n";
}
    return 0;
}