Cod sursa(job #2443988)

Utilizator vladutflaviusPasare Vladut vladutflavius Data 29 iulie 2019 23:02:47
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <algorithm>
 
using namespace std;
ifstream f("economie.in");
ofstream g("economie.out");
int a[1005],b[50005];
int sol[1005];
int main()
{
    int n;
    f>>n;
    int Max=0;
    for(int i=1;i<=n;i++)
    {
        f>>a[i];
        if(a[i]>Max)Max=a[i];
    }
    sort(a+1,a+n+1);
    int k=0;
    b[0]=1;
    for(int i=1;i<=n;i++)
    {
        if(b[a[i]]==0)
        {
            sol[++k]=a[i];
            for(int j=0;j<=Max-a[i];j++)
            {
                if(b[j]==1)
                    b[j+a[i]]=1;
            }
        }
    }
    g<<k<<'\n';
    for(int i=1;i<=k;i++)
    {
        g<<sol[i]<<" ";
    }
    return 0;
}