Cod sursa(job #2987229)

Utilizator alexcmeciu1Cmeciu Alexandru Cristian alexcmeciu1 Data 2 martie 2023 09:47:27
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,v[1005],maxim,nr,posibil[100005];
set <int> res;
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++){
        fin>>v[i];
        if(v[i]>maxim)maxim=v[i];
    }
    sort(v+1,v+n+1);
    posibil[0]=1;
    bool ok=true;
    for(int i=1;i<=n;i++){
       for(int j=0;j<=maxim;j++)
       {
           if(posibil[j]){
            posibil[j+v[i]]=1;
            res.insert(v[i]);
           }
       }
       bool ok=true;
       for(int k=1;k<=maxim;k++){
            if(posibil[k]==0)ok=false;
       }
       if(ok==true)
            i=n;
    }
    fout<<res.size()<<'\n';
    for(auto el:res)
        fout<<el<<'\n';
    return 0;
}