Cod sursa(job #2987222)

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

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,v[1005],maxim,nr,posibil[1005];
vector <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.push_back(v[i]);
       for(int i=1;i<=maxim;i++)
            if(posibil[i]==0)ok=false;
        if(ok==true)
            i=maxim;
    }
    fout<<res.size()<<endl;
    for(auto el:res)
        fout<<el<<endl;
    return 0;
}