Cod sursa(job #1704951)

Utilizator popabogdanPopa Bogdan Ioan popabogdan Data 19 mai 2016 17:35:26
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int a[1001],sol[1001];
bitset<50001>es;
int n,i,mx,fi,j;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)fin>>a[i],mx=max(mx,a[i]);
    sort(a+1,a+n+1);
    es[0]=1;
    fi=0;
    for(i=1;i<=n;i++)
    {
        if(!es[a[i]])
        sol[++fi]=a[i];
        for(j=0;j+a[i]<=mx;j++)
            if(es[j])
            es[j+a[i]]=1;

    }
    fout<<fi<<"\n";
    for(i=1;i<=fi;i++)fout<<sol[i]<<"\n";
    return 0;
}