Cod sursa(job #2530707)

Utilizator cyg_contnr1Rares Burghelea cyg_contnr1 Data 25 ianuarie 2020 10:08:36
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin ("economie.in");
ofstream cout ("economie.out");
int n,ans;
int a[1005],r[1005];
bool ok[50005];
void rucsac(int val)
{
    for(int i=0; i<=50000-val; ++i)
    {
        if(ok[i])
            ok[i+val]=true;
    }
}
int main()
{
    cin>>n;
    for(int i=1; i<=n; ++i)
        cin>>a[i];
    sort(a+1,a+n+1);
    ok[0]=true;
    for(int i=1; i<=n; ++i)
    {
        if (ok[a[i]])
            continue;
        r[++ans]=a[i];
        rucsac(a[i]);
    }
    cout<<ans<<"\n";
    for (int i=1; i<=ans; ++i)
        cout<<r[i]<<"\n";
    return 0;
}